<--开源HTML五子棋-->
<!DOCTYPE html>
<html lang="zh-cn">

<head>
  <meta charset="utf-8">
  <title>RenJuN</title>
 
  <style>
div#app {
    text-align: center;
    margin-bottom: 10px;
    overflow: hidden;
    left: 20%;
    right: 20%;
}

#app select{
    display: inline;
    cursor:pointer;
}

#app h1{
    display: block;
    cursor:default;
}

div#app canvas#app-canvas{
    border: 2px gray solid;
    background-color: rgb(233, 233, 233);
    cursor:pointer;
    margin: 14px auto 28px;
}

div#app div#app-setting{
    margin:12px auto;
    overflow: hidden;
}


div#app #board-info{
    display: block;
    background-color: black;
    font-size: 22px;
    text-align: center;
    color: white;
    overflow: hidden;
    margin:12px auto;
    text-anchor:middle;
}

li{
    display: inline-block;
}

div#app #app-grap{
    display: block;
    border: 1px gray solid;
    background-color: #e2e2e2;
    margin: 12px auto;
}

div#app #btn-ai-frist{
    display: block;
    font-size: 24px;
    color: white;
    background-color : darkgray;
    margin: 2px auto 30px;
}

div#app #btn-ai-frist:hover{
    font-size: 26px;
    margin: 0px auto 28px;
}

div#app input[type=button]{
    display: inline-block;
    cursor:pointer;
}

.app-block::before, .app-block::after{
    content: attr(id);
    display: block;
    font-size: 12px;
    color: white;
    background-color : darkgrey;
    margin: 2px auto;
    text-align: center;
}



</style>
</head>

<body onselectstart="return false">
  <div id='app'>
    <h1 id='app-title'>RenJu<b id='title-value'>N-五?</b>棋</h1>

    <canvas id='app-canvas'></canvas>

    <input type="button" id="btn-ai-frist" value="AI先手">
    <div id="board-info" class="app-block">请点击棋盘</div>
    <!-- <p id="app-grap"></p> -->
    <div id="app-setting" class="app-block">
      <ul>
   <li>
         <li>
          <span>棋盘大小(需手动刷新):<b style="color:red;" id="board-size2-value">90</b>%</span>
          <input type="range" id="board-size2" min=1 max=10 value=9>
        </li>

        <li>
          <span>棋盘规格:<b style="color:red;" id="board-size-value">15</b>格</span>
          <input type="range" id="board-size" min=3 max=19 value=15>
        </li>
        <li>
          <span>胜利条件:<b style="color:red;" id="board-nwin-value">5</b>子连珠</span>
          <input type="range" id="board-nwin" min=1 max=6 value=5>
        </li>
        <li>
          <span>递归深度限制:<b style="color:red;" id="board-depth-value">10</b>层</span>
          <input type="range" id="board-depth" min=2 max=12 value=10>
        </li>
        <li>
          <span>搜索广度:<b style="color:red;" id="board-breadth-value">6</b>个</span>
          <input type="range" id="board-breadth" min=2 max=24 value=6>
        </li>
        <li>
          <span>时间限制:<b style="color:red;" id="board-timelimit-value">0.5</b>秒</span>
          <input type="range" id="board-timelimit" min=1 max=100 value=5>
        </li>
      </ul>
      <input type="button" id="btn-board-undo" value="悔棋">
      <input type="button" id="btn-board-debug" value="调试模式">
      <input type="button" id="btn-board-default" value="默认设置">
      <input type="checkbox" id="checkbox-board-foul" checked='true'><span>禁手</span>
    </div>
  </div>
 <script>
!function(t) {
    var n = {};
    function e(r) {
        if (n[r])
            return n[r].exports;
        var i = n[r] = {
            i: r,
            l: !1,
            exports: {}
        };
        return t[r].call(i.exports, i, i.exports, e),
        i.l = !0,
        i.exports
    }
    e.m = t,
    e.c = n,
    e.d = function(t, n, r) {
        e.o(t, n) || Object.defineProperty(t, n, {
            enumerable: !0,
            get: r
        })
    }
    ,
    e.r = function(t) {
        "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, {
            value: "Module"
        }),
        Object.defineProperty(t, "__esModule", {
            value: !0
        })
    }
    ,
    e.t = function(t, n) {
        if (1 & n && (t = e(t)),
        8 & n)
            return t;
        if (4 & n && "object" == typeof t && t && t.__esModule)
            return t;
        var r = Object.create(null);
        if (e.r(r),
        Object.defineProperty(r, "default", {
            enumerable: !0,
            value: t
        }),
        2 & n && "string" != typeof t)
            for (var i in t)
                e.d(r, i, function(n) {
                    return t[n]
                }
                .bind(null, i));
        return r
    }
    ,
    e.n = function(t) {
        var n = t && t.__esModule ? function() {
            return t.default
        }
        : function() {
            return t
        }
        ;
        return e.d(n, "a", n),
        n
    }
    ,
    e.o = function(t, n) {
        return Object.prototype.hasOwnProperty.call(t, n)
    }
    ,
    e.p = "",
    e(e.s = 131)
}([function(t, n, e) {
    var r = e(2)
      , i = e(18)
      , o = e(11)
      , u = e(12)
      , a = e(19)
      , c = function(t, n, e) {
        var s, f, l, h, v = t & c.F, p = t & c.G, d = t & c.S, g = t & c.P, y = t & c.B, b = p ? r : d ? r[n] || (r[n] = {}) : (r[n] || {}).prototype, m = p ? i : i[n] || (i[n] = {}), x = m.prototype || (m.prototype = {});
        for (s in p && (e = n),
        e)
            l = ((f = !v && b && void 0 !== b[s]) ? b : e)[s],
            h = y && f ? a(l, r) : g && "function" == typeof l ? a(Function.call, l) : l,
            b && u(b, s, l, t & c.U),
            m[s] != l && o(m, s, h),
            g && x[s] != l && (x[s] = l)
    };
    r.core = i,
    c.F = 1,
    c.G = 2,
    c.S = 4,
    c.P = 8,
    c.B = 16,
    c.W = 32,
    c.U = 64,
    c.R = 128,
    t.exports = c
}
, function(t, n, e) {
    var r = e(4);
    t.exports = function(t) {
        if (!r(t))
            throw TypeError(t + " is not an object!");
        return t
    }
}
, function(t, n) {
    var e = t.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")();
    "number" == typeof __g && (__g = e)
}
, function(t, n) {
    t.exports = function(t) {
        try {
            return !!t()
        } catch (t) {
            return !0
        }
    }
}
, function(t, n) {
    t.exports = function(t) {
        return "object" == typeof t ? null !== t : "function" == typeof t
    }
}
, function(t, n, e) {
    var r = e(47)("wks")
      , i = e(33)
      , o = e(2).Symbol
      , u = "function" == typeof o;
    (t.exports = function(t) {
        return r[t] || (r[t] = u && o[t] || (u ? o : i)("Symbol." + t))
    }
    ).store = r
}
, function(t, n, e) {
    var r = e(21)
      , i = Math.min;
    t.exports = function(t) {
        return t > 0 ? i(r(t), 9007199254740991) : 0
    }
}
, function(t, n, e) {
    t.exports = !e(3)(function() {
        return 7 != Object.defineProperty({}, "a", {
            get: function() {
                return 7
            }
        }).a
    })
}
, function(t, n, e) {
    var r = e(1)
      , i = e(95)
      , o = e(23)
      , u = Object.defineProperty;
    n.f = e(7) ? Object.defineProperty : function(t, n, e) {
        if (r(t),
        n = o(n, !0),
        r(e),
        i)
            try {
                return u(t, n, e)
            } catch (t) {}
        if ("get"in e || "set"in e)
            throw TypeError("Accessors not supported!");
        return "value"in e && (t[n] = e.value),
        t
    }
}
, function(t, n, e) {
    var r = e(24);
    t.exports = function(t) {
        return Object(r(t))
    }
}
, function(t, n) {
    t.exports = function(t) {
        if ("function" != typeof t)
            throw TypeError(t + " is not a function!");
        return t
    }
}
, function(t, n, e) {
    var r = e(8)
      , i = e(32);
    t.exports = e(7) ? function(t, n, e) {
        return r.f(t, n, i(1, e))
    }
    : function(t, n, e) {
        return t[n] = e,
        t
    }
}
, function(t, n, e) {
    var r = e(2)
      , i = e(11)
      , o = e(14)
      , u = e(33)("src")
      , a = e(135)
      , c = ("" + a).split("toString");
    e(18).inspectSource = function(t) {
        return a.call(t)
    }
    ,
    (t.exports = function(t, n, e, a) {
        var s = "function" == typeof e;
        s && (o(e, "name") || i(e, "name", n)),
        t[n] !== e && (s && (o(e, u) || i(e, u, t[n] ? "" + t[n] : c.join(String(n)))),
        t === r ? t[n] = e : a ? t[n] ? t[n] = e : i(t, n, e) : (delete t[n],
        i(t, n, e)))
    }
    )(Function.prototype, "toString", function() {
        return "function" == typeof this && this[u] || a.call(this)
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(3)
      , o = e(24)
      , u = /"/g
      , a = function(t, n, e, r) {
        var i = String(o(t))
          , a = "<" + n;
        return "" !== e && (a += " " + e + '="' + String(r).replace(u, "&quot;") + '"'),
        a + ">" + i + "</" + n + ">"
    };
    t.exports = function(t, n) {
        var e = {};
        e[t] = n(a),
        r(r.P + r.F * i(function() {
            var n = ""[t]('"');
            return n !== n.toLowerCase() || n.split('"').length > 3
        }), "String", e)
    }
}
, function(t, n) {
    var e = {}.hasOwnProperty;
    t.exports = function(t, n) {
        return e.call(t, n)
    }
}
, function(t, n, e) {
    var r = e(48)
      , i = e(24);
    t.exports = function(t) {
        return r(i(t))
    }
}
, function(t, n, e) {
    var r = e(49)
      , i = e(32)
      , o = e(15)
      , u = e(23)
      , a = e(14)
      , c = e(95)
      , s = Object.getOwnPropertyDescriptor;
    n.f = e(7) ? s : function(t, n) {
        if (t = o(t),
        n = u(n, !0),
        c)
            try {
                return s(t, n)
            } catch (t) {}
        if (a(t, n))
            return i(!r.f.call(t, n), t[n])
    }
}
, function(t, n, e) {
    var r = e(14)
      , i = e(9)
      , o = e(68)("IE_PROTO")
      , u = Object.prototype;
    t.exports = Object.getPrototypeOf || function(t) {
        return t = i(t),
        r(t, o) ? t[o] : "function" == typeof t.constructor && t instanceof t.constructor ? t.constructor.prototype : t instanceof Object ? u : null
    }
}
, function(t, n) {
    var e = t.exports = {
        version: "2.6.9"
    };
    "number" == typeof __e && (__e = e)
}
, function(t, n, e) {
    var r = e(10);
    t.exports = function(t, n, e) {
        if (r(t),
        void 0 === n)
            return t;
        switch (e) {
        case 1:
            return function(e) {
                return t.call(n, e)
            }
            ;
        case 2:
            return function(e, r) {
                return t.call(n, e, r)
            }
            ;
        case 3:
            return function(e, r, i) {
                return t.call(n, e, r, i)
            }
        }
        return function() {
            return t.apply(n, arguments)
        }
    }
}
, function(t, n) {
    var e = {}.toString;
    t.exports = function(t) {
        return e.call(t).slice(8, -1)
    }
}
, function(t, n) {
    var e = Math.ceil
      , r = Math.floor;
    t.exports = function(t) {
        return isNaN(t = +t) ? 0 : (t > 0 ? r : e)(t)
    }
}
, function(t, n, e) {
    "use strict";
    var r = e(3);
    t.exports = function(t, n) {
        return !!t && r(function() {
            n ? t.call(null, function() {}, 1) : t.call(null)
        })
    }
}
, function(t, n, e) {
    var r = e(4);
    t.exports = function(t, n) {
        if (!r(t))
            return t;
        var e, i;
        if (n && "function" == typeof (e = t.toString) && !r(i = e.call(t)))
            return i;
        if ("function" == typeof (e = t.valueOf) && !r(i = e.call(t)))
            return i;
        if (!n && "function" == typeof (e = t.toString) && !r(i = e.call(t)))
            return i;
        throw TypeError("Can't convert object to primitive value")
    }
}
, function(t, n) {
    t.exports = function(t) {
        if (null == t)
            throw TypeError("Can't call method on  " + t);
        return t
    }
}
, function(t, n, e) {
    var r = e(0)
      , i = e(18)
      , o = e(3);
    t.exports = function(t, n) {
        var e = (i.Object || {})[t] || Object[t]
          , u = {};
        u[t] = n(e),
        r(r.S + r.F * o(function() {
            e(1)
        }), "Object", u)
    }
}
, function(t, n, e) {
    var r = e(19)
      , i = e(48)
      , o = e(9)
      , u = e(6)
      , a = e(84);
    t.exports = function(t, n) {
        var e = 1 == t
          , c = 2 == t
          , s = 3 == t
          , f = 4 == t
          , l = 6 == t
          , h = 5 == t || l
          , v = n || a;
        return function(n, a, p) {
            for (var d, g, y = o(n), b = i(y), m = r(a, p, 3), x = u(b.length), w = 0, S = e ? v(n, x) : c ? v(n, 0) : void 0; x > w; w++)
                if ((h || w in b) && (g = m(d = b[w], w, y),
                t))
                    if (e)
                        S[w] = g;
                    else if (g)
                        switch (t) {
                        case 3:
                            return !0;
                        case 5:
                            return d;
                        case 6:
                            return w;
                        case 2:
                            S.push(d)
                        }
                    else if (f)
                        return !1;
            return l ? -1 : s || f ? f : S
        }
    }
}
, function(t, n, e) {
    "use strict";
    if (e(7)) {
        var r = e(29)
          , i = e(2)
          , o = e(3)
          , u = e(0)
          , a = e(62)
          , c = e(92)
          , s = e(19)
          , f = e(39)
          , l = e(32)
          , h = e(11)
          , v = e(41)
          , p = e(21)
          , d = e(6)
          , g = e(123)
          , y = e(35)
          , b = e(23)
          , m = e(14)
          , x = e(44)
          , w = e(4)
          , S = e(9)
          , _ = e(81)
          , E = e(36)
          , M = e(17)
          , k = e(37).f
          , O = e(83)
          , P = e(33)
          , A = e(5)
          , I = e(26)
          , j = e(52)
          , F = e(51)
          , N = e(86)
          , T = e(46)
          , R = e(57)
          , W = e(38)
          , L = e(85)
          , C = e(112)
          , D = e(8)
          , B = e(16)
          , z = D.f
          , G = B.f
          , U = i.RangeError
          , V = i.TypeError
          , Y = i.Uint8Array
          , X = Array.prototype
          , J = c.ArrayBuffer
          , K = c.DataView
          , $ = I(0)
          , H = I(2)
          , q = I(3)
          , Z = I(4)
          , Q = I(5)
          , tt = I(6)
          , nt = j(!0)
          , et = j(!1)
          , rt = N.values
          , it = N.keys
          , ot = N.entries
          , ut = X.lastIndexOf
          , at = X.reduce
          , ct = X.reduceRight
          , st = X.join
          , ft = X.sort
          , lt = X.slice
          , ht = X.toString
          , vt = X.toLocaleString
          , pt = A("iterator")
          , dt = A("toStringTag")
          , gt = P("typed_constructor")
          , yt = P("def_constructor")
          , bt = a.CONSTR
          , mt = a.TYPED
          , xt = a.VIEW
          , wt = I(1, function(t, n) {
            return kt(F(t, t[yt]), n)
        })
          , St = o(function() {
            return 1 === new Y(new Uint16Array([1]).buffer)[0]
        })
          , _t = !!Y && !!Y.prototype.set && o(function() {
            new Y(1).set({})
        })
          , Et = function(t, n) {
            var e = p(t);
            if (e < 0 || e % n)
                throw U("Wrong offset!");
            return e
        }
          , Mt = function(t) {
            if (w(t) && mt in t)
                return t;
            throw V(t + " is not a typed array!")
        }
          , kt = function(t, n) {
            if (!(w(t) && gt in t))
                throw V("It is not a typed array constructor!");
            return new t(n)
        }
          , Ot = function(t, n) {
            return Pt(F(t, t[yt]), n)
        }
          , Pt = function(t, n) {
            for (var e = 0, r = n.length, i = kt(t, r); r > e; )
                i[e] = n[e++];
            return i
        }
          , At = function(t, n, e) {
            z(t, n, {
                get: function() {
                    return this._d[e]
                }
            })
        }
          , It = function(t) {
            var n, e, r, i, o, u, a = S(t), c = arguments.length, f = c > 1 ? arguments[1] : void 0, l = void 0 !== f, h = O(a);
            if (null != h && !_(h)) {
                for (u = h.call(a),
                r = [],
                n = 0; !(o = u.next()).done; n++)
                    r.push(o.value);
                a = r
            }
            for (l && c > 2 && (f = s(f, arguments[2], 2)),
            n = 0,
            e = d(a.length),
            i = kt(this, e); e > n; n++)
                i[n] = l ? f(a[n], n) : a[n];
            return i
        }
          , jt = function() {
            for (var t = 0, n = arguments.length, e = kt(this, n); n > t; )
                e[t] = arguments[t++];
            return e
        }
          , Ft = !!Y && o(function() {
            vt.call(new Y(1))
        })
          , Nt = function() {
            return vt.apply(Ft ? lt.call(Mt(this)) : Mt(this), arguments)
        }
          , Tt = {
            copyWithin: function(t, n) {
                return C.call(Mt(this), t, n, arguments.length > 2 ? arguments[2] : void 0)
            },
            every: function(t) {
                return Z(Mt(this), t, arguments.length > 1 ? arguments[1] : void 0)
            },
            fill: function(t) {
                return L.apply(Mt(this), arguments)
            },
            filter: function(t) {
                return Ot(this, H(Mt(this), t, arguments.length > 1 ? arguments[1] : void 0))
            },
            find: function(t) {
                return Q(Mt(this), t, arguments.length > 1 ? arguments[1] : void 0)
            },
            findIndex: function(t) {
                return tt(Mt(this), t, arguments.length > 1 ? arguments[1] : void 0)
            },
            forEach: function(t) {
                $(Mt(this), t, arguments.length > 1 ? arguments[1] : void 0)
            },
            indexOf: function(t) {
                return et(Mt(this), t, arguments.length > 1 ? arguments[1] : void 0)
            },
            includes: function(t) {
                return nt(Mt(this), t, arguments.length > 1 ? arguments[1] : void 0)
            },
            join: function(t) {
                return st.apply(Mt(this), arguments)
            },
            lastIndexOf: function(t) {
                return ut.apply(Mt(this), arguments)
            },
            map: function(t) {
                return wt(Mt(this), t, arguments.length > 1 ? arguments[1] : void 0)
            },
            reduce: function(t) {
                return at.apply(Mt(this), arguments)
            },
            reduceRight: function(t) {
                return ct.apply(Mt(this), arguments)
            },
            reverse: function() {
                for (var t, n = Mt(this).length, e = Math.floor(n / 2), r = 0; r < e; )
                    t = this[r],
                    this[r++] = this[--n],
                    this[n] = t;
                return this
            },
            some: function(t) {
                return q(Mt(this), t, arguments.length > 1 ? arguments[1] : void 0)
            },
            sort: function(t) {
                return ft.call(Mt(this), t)
            },
            subarray: function(t, n) {
                var e = Mt(this)
                  , r = e.length
                  , i = y(t, r);
                return new (F(e, e[yt]))(e.buffer,e.byteOffset + i * e.BYTES_PER_ELEMENT,d((void 0 === n ? r : y(n, r)) - i))
            }
        }
          , Rt = function(t, n) {
            return Ot(this, lt.call(Mt(this), t, n))
        }
          , Wt = function(t) {
            Mt(this);
            var n = Et(arguments[1], 1)
              , e = this.length
              , r = S(t)
              , i = d(r.length)
              , o = 0;
            if (i + n > e)
                throw U("Wrong length!");
            for (; o < i; )
                this[n + o] = r[o++]
        }
          , Lt = {
            entries: function() {
                return ot.call(Mt(this))
            },
            keys: function() {
                return it.call(Mt(this))
            },
            values: function() {
                return rt.call(Mt(this))
            }
        }
          , Ct = function(t, n) {
            return w(t) && t[mt] && "symbol" != typeof n && n in t && String(+n) == String(n)
        }
          , Dt = function(t, n) {
            return Ct(t, n = b(n, !0)) ? l(2, t[n]) : G(t, n)
        }
          , Bt = function(t, n, e) {
            return !(Ct(t, n = b(n, !0)) && w(e) && m(e, "value")) || m(e, "get") || m(e, "set") || e.configurable || m(e, "writable") && !e.writable || m(e, "enumerable") && !e.enumerable ? z(t, n, e) : (t[n] = e.value,
            t)
        };
        bt || (B.f = Dt,
        D.f = Bt),
        u(u.S + u.F * !bt, "Object", {
            getOwnPropertyDescriptor: Dt,
            defineProperty: Bt
        }),
        o(function() {
            ht.call({})
        }) && (ht = vt = function() {
            return st.call(this)
        }
        );
        var zt = v({}, Tt);
        v(zt, Lt),
        h(zt, pt, Lt.values),
        v(zt, {
            slice: Rt,
            set: Wt,
            constructor: function() {},
            toString: ht,
            toLocaleString: Nt
        }),
        At(zt, "buffer", "b"),
        At(zt, "byteOffset", "o"),
        At(zt, "byteLength", "l"),
        At(zt, "length", "e"),
        z(zt, dt, {
            get: function() {
                return this[mt]
            }
        }),
        t.exports = function(t, n, e, c) {
            var s = t + ((c = !!c) ? "Clamped" : "") + "Array"
              , l = "get" + t
              , v = "set" + t
              , p = i[s]
              , y = p || {}
              , b = p && M(p)
              , m = !p || !a.ABV
              , S = {}
              , _ = p && p.prototype
              , O = function(t, e) {
                z(t, e, {
                    get: function() {
                        return function(t, e) {
                            var r = t._d;
                            return r.v[l](e * n + r.o, St)
                        }(this, e)
                    },
                    set: function(t) {
                        return function(t, e, r) {
                            var i = t._d;
                            c && (r = (r = Math.round(r)) < 0 ? 0 : r > 255 ? 255 : 255 & r),
                            i.v[v](e * n + i.o, r, St)
                        }(this, e, t)
                    },
                    enumerable: !0
                })
            };
            m ? (p = e(function(t, e, r, i) {
                f(t, p, s, "_d");
                var o, u, a, c, l = 0, v = 0;
                if (w(e)) {
                    if (!(e instanceof J || "ArrayBuffer" == (c = x(e)) || "SharedArrayBuffer" == c))
                        return mt in e ? Pt(p, e) : It.call(p, e);
                    o = e,
                    v = Et(r, n);
                    var y = e.byteLength;
                    if (void 0 === i) {
                        if (y % n)
                            throw U("Wrong length!");
                        if ((u = y - v) < 0)
                            throw U("Wrong length!")
                    } else if ((u = d(i) * n) + v > y)
                        throw U("Wrong length!");
                    a = u / n
                } else
                    a = g(e),
                    o = new J(u = a * n);
                for (h(t, "_d", {
                    b: o,
                    o: v,
                    l: u,
                    e: a,
                    v: new K(o)
                }); l < a; )
                    O(t, l++)
            }),
            _ = p.prototype = E(zt),
            h(_, "constructor", p)) : o(function() {
                p(1)
            }) && o(function() {
                new p(-1)
            }) && R(function(t) {
                new p,
                new p(null),
                new p(1.5),
                new p(t)
            }, !0) || (p = e(function(t, e, r, i) {
                var o;
                return f(t, p, s),
                w(e) ? e instanceof J || "ArrayBuffer" == (o = x(e)) || "SharedArrayBuffer" == o ? void 0 !== i ? new y(e,Et(r, n),i) : void 0 !== r ? new y(e,Et(r, n)) : new y(e) : mt in e ? Pt(p, e) : It.call(p, e) : new y(g(e))
            }),
            $(b !== Function.prototype ? k(y).concat(k(b)) : k(y), function(t) {
                t in p || h(p, t, y[t])
            }),
            p.prototype = _,
            r || (_.constructor = p));
            var P = _[pt]
              , A = !!P && ("values" == P.name || null == P.name)
              , I = Lt.values;
            h(p, gt, !0),
            h(_, mt, s),
            h(_, xt, !0),
            h(_, yt, p),
            (c ? new p(1)[dt] == s : dt in _) || z(_, dt, {
                get: function() {
                    return s
                }
            }),
            S[s] = p,
            u(u.G + u.W + u.F * (p != y), S),
            u(u.S, s, {
                BYTES_PER_ELEMENT: n
            }),
            u(u.S + u.F * o(function() {
                y.of.call(p, 1)
            }), s, {
                from: It,
                of: jt
            }),
            "BYTES_PER_ELEMENT"in _ || h(_, "BYTES_PER_ELEMENT", n),
            u(u.P, s, Tt),
            W(s),
            u(u.P + u.F * _t, s, {
                set: Wt
            }),
            u(u.P + u.F * !A, s, Lt),
            r || _.toString == ht || (_.toString = ht),
            u(u.P + u.F * o(function() {
                new p(1).slice()
            }), s, {
                slice: Rt
            }),
            u(u.P + u.F * (o(function() {
                return [1, 2].toLocaleString() != new p([1, 2]).toLocaleString()
            }) || !o(function() {
                _.toLocaleString.call([1, 2])
            })), s, {
                toLocaleString: Nt
            }),
            T[s] = A ? P : I,
            r || A || h(_, pt, I)
        }
    } else
        t.exports = function() {}
}
, function(t, n, e) {
    var r = e(118)
      , i = e(0)
      , o = e(47)("metadata")
      , u = o.store || (o.store = new (e(121)))
      , a = function(t, n, e) {
        var i = u.get(t);
        if (!i) {
            if (!e)
                return;
            u.set(t, i = new r)
        }
        var o = i.get(n);
        if (!o) {
            if (!e)
                return;
            i.set(n, o = new r)
        }
        return o
    };
    t.exports = {
        store: u,
        map: a,
        has: function(t, n, e) {
            var r = a(n, e, !1);
            return void 0 !== r && r.has(t)
        },
        get: function(t, n, e) {
            var r = a(n, e, !1);
            return void 0 === r ? void 0 : r.get(t)
        },
        set: function(t, n, e, r) {
            a(e, r, !0).set(t, n)
        },
        keys: function(t, n) {
            var e = a(t, n, !1)
              , r = [];
            return e && e.forEach(function(t, n) {
                r.push(n)
            }),
            r
        },
        key: function(t) {
            return void 0 === t || "symbol" == typeof t ? t : String(t)
        },
        exp: function(t) {
            i(i.S, "Reflect", t)
        }
    }
}
, function(t, n) {
    t.exports = !1
}
, function(t, n, e) {
    var r = e(33)("meta")
      , i = e(4)
      , o = e(14)
      , u = e(8).f
      , a = 0
      , c = Object.isExtensible || function() {
        return !0
    }
      , s = !e(3)(function() {
        return c(Object.preventExtensions({}))
    })
      , f = function(t) {
        u(t, r, {
            value: {
                i: "O" + ++a,
                w: {}
            }
        })
    }
      , l = t.exports = {
        KEY: r,
        NEED: !1,
        fastKey: function(t, n) {
            if (!i(t))
                return "symbol" == typeof t ? t : ("string" == typeof t ? "S" : "P") + t;
            if (!o(t, r)) {
                if (!c(t))
                    return "F";
                if (!n)
                    return "E";
                f(t)
            }
            return t[r].i
        },
        getWeak: function(t, n) {
            if (!o(t, r)) {
                if (!c(t))
                    return !0;
                if (!n)
                    return !1;
                f(t)
            }
            return t[r].w
        },
        onFreeze: function(t) {
            return s && l.NEED && c(t) && !o(t, r) && f(t),
            t
        }
    }
}
, function(t, n, e) {
    var r = e(5)("unscopables")
      , i = Array.prototype;
    null == i[r] && e(11)(i, r, {}),
    t.exports = function(t) {
        i[r][t] = !0
    }
}
, function(t, n) {
    t.exports = function(t, n) {
        return {
            enumerable: !(1 & t),
            configurable: !(2 & t),
            writable: !(4 & t),
            value: n
        }
    }
}
, function(t, n) {
    var e = 0
      , r = Math.random();
    t.exports = function(t) {
        return "Symbol(".concat(void 0 === t ? "" : t, ")_", (++e + r).toString(36))
    }
}
, function(t, n, e) {
    var r = e(97)
      , i = e(69);
    t.exports = Object.keys || function(t) {
        return r(t, i)
    }
}
, function(t, n, e) {
    var r = e(21)
      , i = Math.max
      , o = Math.min;
    t.exports = function(t, n) {
        return (t = r(t)) < 0 ? i(t + n, 0) : o(t, n)
    }
}
, function(t, n, e) {
    var r = e(1)
      , i = e(98)
      , o = e(69)
      , u = e(68)("IE_PROTO")
      , a = function() {}
      , c = function() {
        var t, n = e(66)("iframe"), r = o.length;
        for (n.style.display = "none",
        e(70).appendChild(n),
        n.src = "javascript:",
        (t = n.contentWindow.document).open(),
        t.write("<script>document.F=Object<\/script>"),
        t.close(),
        c = t.F; r--; )
            delete c.prototype[o[r]];
        return c()
    };
    t.exports = Object.create || function(t, n) {
        var e;
        return null !== t ? (a.prototype = r(t),
        e = new a,
        a.prototype = null,
        e[u] = t) : e = c(),
        void 0 === n ? e : i(e, n)
    }
}
, function(t, n, e) {
    var r = e(97)
      , i = e(69).concat("length", "prototype");
    n.f = Object.getOwnPropertyNames || function(t) {
        return r(t, i)
    }
}
, function(t, n, e) {
    "use strict";
    var r = e(2)
      , i = e(8)
      , o = e(7)
      , u = e(5)("species");
    t.exports = function(t) {
        var n = r[t];
        o && n && !n[u] && i.f(n, u, {
            configurable: !0,
            get: function() {
                return this
            }
        })
    }
}
, function(t, n) {
    t.exports = function(t, n, e, r) {
        if (!(t instanceof n) || void 0 !== r && r in t)
            throw TypeError(e + ": incorrect invocation!");
        return t
    }
}
, function(t, n, e) {
    var r = e(19)
      , i = e(110)
      , o = e(81)
      , u = e(1)
      , a = e(6)
      , c = e(83)
      , s = {}
      , f = {};
    (n = t.exports = function(t, n, e, l, h) {
        var v, p, d, g, y = h ? function() {
            return t
        }
        : c(t), b = r(e, l, n ? 2 : 1), m = 0;
        if ("function" != typeof y)
            throw TypeError(t + " is not iterable!");
        if (o(y)) {
            for (v = a(t.length); v > m; m++)
                if ((g = n ? b(u(p = t[m])[0], p[1]) : b(t[m])) === s || g === f)
                    return g
        } else
            for (d = y.call(t); !(p = d.next()).done; )
                if ((g = i(d, b, p.value, n)) === s || g === f)
                    return g
    }
    ).BREAK = s,
    n.RETURN = f
}
, function(t, n, e) {
    var r = e(12);
    t.exports = function(t, n, e) {
        for (var i in n)
            r(t, i, n[i], e);
        return t
    }
}
, function(t, n, e) {
    var r = e(4);
    t.exports = function(t, n) {
        if (!r(t) || t._t !== n)
            throw TypeError("Incompatible receiver, " + n + " required!");
        return t
    }
}
, function(t, n, e) {
    var r = e(8).f
      , i = e(14)
      , o = e(5)("toStringTag");
    t.exports = function(t, n, e) {
        t && !i(t = e ? t : t.prototype, o) && r(t, o, {
            configurable: !0,
            value: n
        })
    }
}
, function(t, n, e) {
    var r = e(20)
      , i = e(5)("toStringTag")
      , o = "Arguments" == r(function() {
        return arguments
    }());
    t.exports = function(t) {
        var n, e, u;
        return void 0 === t ? "Undefined" : null === t ? "Null" : "string" == typeof (e = function(t, n) {
            try {
                return t[n]
            } catch (t) {}
        }(n = Object(t), i)) ? e : o ? r(n) : "Object" == (u = r(n)) && "function" == typeof n.callee ? "Arguments" : u
    }
}
, function(t, n, e) {
    var r = e(0)
      , i = e(24)
      , o = e(3)
      , u = e(72)
      , a = "[" + u + "]"
      , c = RegExp("^" + a + a + "*")
      , s = RegExp(a + a + "*$")
      , f = function(t, n, e) {
        var i = {}
          , a = o(function() {
            return !!u[t]() || "​" != "​"[t]()
        })
          , c = i[t] = a ? n(l) : u[t];
        e && (i[e] = c),
        r(r.P + r.F * a, "String", i)
    }
      , l = f.trim = function(t, n) {
        return t = String(i(t)),
        1 & n && (t = t.replace(c, "")),
        2 & n && (t = t.replace(s, "")),
        t
    }
    ;
    t.exports = f
}
, function(t, n) {
    t.exports = {}
}
, function(t, n, e) {
    var r = e(18)
      , i = e(2)
      , o = i["__core-js_shared__"] || (i["__core-js_shared__"] = {});
    (t.exports = function(t, n) {
        return o[t] || (o[t] = void 0 !== n ? n : {})
    }
    )("versions", []).push({
        version: r.version,
        mode: e(29) ? "pure" : "global",
        copyright: "© 2019 Denis Pushkarev (zloirock.ru)"
    })
}
, function(t, n, e) {
    var r = e(20);
    t.exports = Object("z").propertyIsEnumerable(0) ? Object : function(t) {
        return "String" == r(t) ? t.split("") : Object(t)
    }
}
, function(t, n) {
    n.f = {}.propertyIsEnumerable
}
, function(t, n, e) {
    "use strict";
    var r = e(1);
    t.exports = function() {
        var t = r(this)
          , n = "";
        return t.global && (n += "g"),
        t.ignoreCase && (n += "i"),
        t.multiline && (n += "m"),
        t.unicode && (n += "u"),
        t.sticky && (n += "y"),
        n
    }
}
, function(t, n, e) {
    var r = e(1)
      , i = e(10)
      , o = e(5)("species");
    t.exports = function(t, n) {
        var e, u = r(t).constructor;
        return void 0 === u || null == (e = r(u)[o]) ? n : i(e)
    }
}
, function(t, n, e) {
    var r = e(15)
      , i = e(6)
      , o = e(35);
    t.exports = function(t) {
        return function(n, e, u) {
            var a, c = r(n), s = i(c.length), f = o(u, s);
            if (t && e != e) {
                for (; s > f; )
                    if ((a = c[f++]) != a)
                        return !0
            } else
                for (; s > f; f++)
                    if ((t || f in c) && c[f] === e)
                        return t || f || 0;
            return !t && -1
        }
    }
}
, function(t, n) {
    n.f = Object.getOwnPropertySymbols
}
, function(t, n, e) {
    var r = e(20);
    t.exports = Array.isArray || function(t) {
        return "Array" == r(t)
    }
}
, function(t, n, e) {
    var r = e(21)
      , i = e(24);
    t.exports = function(t) {
        return function(n, e) {
            var o, u, a = String(i(n)), c = r(e), s = a.length;
            return c < 0 || c >= s ? t ? "" : void 0 : (o = a.charCodeAt(c)) < 55296 || o > 56319 || c + 1 === s || (u = a.charCodeAt(c + 1)) < 56320 || u > 57343 ? t ? a.charAt(c) : o : t ? a.slice(c, c + 2) : u - 56320 + (o - 55296 << 10) + 65536
        }
    }
}
, function(t, n, e) {
    var r = e(4)
      , i = e(20)
      , o = e(5)("match");
    t.exports = function(t) {
        var n;
        return r(t) && (void 0 !== (n = t[o]) ? !!n : "RegExp" == i(t))
    }
}
, function(t, n, e) {
    var r = e(5)("iterator")
      , i = !1;
    try {
        var o = [7][r]();
        o.return = function() {
            i = !0
        }
        ,
        Array.from(o, function() {
            throw 2
        })
    } catch (t) {}
    t.exports = function(t, n) {
        if (!n && !i)
            return !1;
        var e = !1;
        try {
            var o = [7]
              , u = o[r]();
            u.next = function() {
                return {
                    done: e = !0
                }
            }
            ,
            o[r] = function() {
                return u
            }
            ,
            t(o)
        } catch (t) {}
        return e
    }
}
, function(t, n, e) {
    "use strict";
    var r = e(44)
      , i = RegExp.prototype.exec;
    t.exports = function(t, n) {
        var e = t.exec;
        if ("function" == typeof e) {
            var o = e.call(t, n);
            if ("object" != typeof o)
                throw new TypeError("RegExp exec method returned something other than an Object or null");
            return o
        }
        if ("RegExp" !== r(t))
            throw new TypeError("RegExp#exec called on incompatible receiver");
        return i.call(t, n)
    }
}
, function(t, n, e) {
    "use strict";
    e(114);
    var r = e(12)
      , i = e(11)
      , o = e(3)
      , u = e(24)
      , a = e(5)
      , c = e(87)
      , s = a("species")
      , f = !o(function() {
        var t = /./;
        return t.exec = function() {
            var t = [];
            return t.groups = {
                a: "7"
            },
            t
        }
        ,
        "7" !== "".replace(t, "$<a>")
    })
      , l = function() {
        var t = /(?:)/
          , n = t.exec;
        t.exec = function() {
            return n.apply(this, arguments)
        }
        ;
        var e = "ab".split(t);
        return 2 === e.length && "a" === e[0] && "b" === e[1]
    }();
    t.exports = function(t, n, e) {
        var h = a(t)
          , v = !o(function() {
            var n = {};
            return n[h] = function() {
                return 7
            }
            ,
            7 != ""[t](n)
        })
          , p = v ? !o(function() {
            var n = !1
              , e = /a/;
            return e.exec = function() {
                return n = !0,
                null
            }
            ,
            "split" === t && (e.constructor = {},
            e.constructor[s] = function() {
                return e
            }
            ),
            e[h](""),
            !n
        }) : void 0;
        if (!v || !p || "replace" === t && !f || "split" === t && !l) {
            var d = /./[h]
              , g = e(u, h, ""[t], function(t, n, e, r, i) {
                return n.exec === c ? v && !i ? {
                    done: !0,
                    value: d.call(n, e, r)
                } : {
                    done: !0,
                    value: t.call(e, n, r)
                } : {
                    done: !1
                }
            })
              , y = g[0]
              , b = g[1];
            r(String.prototype, t, y),
            i(RegExp.prototype, h, 2 == n ? function(t, n) {
                return b.call(t, this, n)
            }
            : function(t) {
                return b.call(t, this)
            }
            )
        }
    }
}
, function(t, n, e) {
    var r = e(2).navigator;
    t.exports = r && r.userAgent || ""
}
, function(t, n, e) {
    "use strict";
    var r = e(2)
      , i = e(0)
      , o = e(12)
      , u = e(41)
      , a = e(30)
      , c = e(40)
      , s = e(39)
      , f = e(4)
      , l = e(3)
      , h = e(57)
      , v = e(43)
      , p = e(73);
    t.exports = function(t, n, e, d, g, y) {
        var b = r[t]
          , m = b
          , x = g ? "set" : "add"
          , w = m && m.prototype
          , S = {}
          , _ = function(t) {
            var n = w[t];
            o(w, t, "delete" == t ? function(t) {
                return !(y && !f(t)) && n.call(this, 0 === t ? 0 : t)
            }
            : "has" == t ? function(t) {
                return !(y && !f(t)) && n.call(this, 0 === t ? 0 : t)
            }
            : "get" == t ? function(t) {
                return y && !f(t) ? void 0 : n.call(this, 0 === t ? 0 : t)
            }
            : "add" == t ? function(t) {
                return n.call(this, 0 === t ? 0 : t),
                this
            }
            : function(t, e) {
                return n.call(this, 0 === t ? 0 : t, e),
                this
            }
            )
        };
        if ("function" == typeof m && (y || w.forEach && !l(function() {
            (new m).entries().next()
        }))) {
            var E = new m
              , M = E[x](y ? {} : -0, 1) != E
              , k = l(function() {
                E.has(1)
            })
              , O = h(function(t) {
                new m(t)
            })
              , P = !y && l(function() {
                for (var t = new m, n = 5; n--; )
                    t[x](n, n);
                return !t.has(-0)
            });
            O || ((m = n(function(n, e) {
                s(n, m, t);
                var r = p(new b, n, m);
                return null != e && c(e, g, r[x], r),
                r
            })).prototype = w,
            w.constructor = m),
            (k || P) && (_("delete"),
            _("has"),
            g && _("get")),
            (P || M) && _(x),
            y && w.clear && delete w.clear
        } else
            m = d.getConstructor(n, t, g, x),
            u(m.prototype, e),
            a.NEED = !0;
        return v(m, t),
        S[t] = m,
        i(i.G + i.W + i.F * (m != b), S),
        y || d.setStrong(m, t, g),
        m
    }
}
, function(t, n, e) {
    for (var r, i = e(2), o = e(11), u = e(33), a = u("typed_array"), c = u("view"), s = !(!i.ArrayBuffer || !i.DataView), f = s, l = 0, h = "Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(","); l < 9; )
        (r = i[h[l++]]) ? (o(r.prototype, a, !0),
        o(r.prototype, c, !0)) : f = !1;
    t.exports = {
        ABV: s,
        CONSTR: f,
        TYPED: a,
        VIEW: c
    }
}
, function(t, n, e) {
    "use strict";
    t.exports = e(29) || !e(3)(function() {
        var t = Math.random();
        __defineSetter__.call(null, t, function() {}),
        delete e(2)[t]
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0);
    t.exports = function(t) {
        r(r.S, t, {
            of: function() {
                for (var t = arguments.length, n = new Array(t); t--; )
                    n[t] = arguments[t];
                return new this(n)
            }
        })
    }
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(10)
      , o = e(19)
      , u = e(40);
    t.exports = function(t) {
        r(r.S, t, {
            from: function(t) {
                var n, e, r, a, c = arguments[1];
                return i(this),
                (n = void 0 !== c) && i(c),
                null == t ? new this : (e = [],
                n ? (r = 0,
                a = o(c, arguments[2], 2),
                u(t, !1, function(t) {
                    e.push(a(t, r++))
                })) : u(t, !1, e.push, e),
                new this(e))
            }
        })
    }
}
, function(t, n, e) {
    var r = e(4)
      , i = e(2).document
      , o = r(i) && r(i.createElement);
    t.exports = function(t) {
        return o ? i.createElement(t) : {}
    }
}
, function(t, n, e) {
    var r = e(2)
      , i = e(18)
      , o = e(29)
      , u = e(96)
      , a = e(8).f;
    t.exports = function(t) {
        var n = i.Symbol || (i.Symbol = o ? {} : r.Symbol || {});
        "_" == t.charAt(0) || t in n || a(n, t, {
            value: u.f(t)
        })
    }
}
, function(t, n, e) {
    var r = e(47)("keys")
      , i = e(33);
    t.exports = function(t) {
        return r[t] || (r[t] = i(t))
    }
}
, function(t, n) {
    t.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")
}
, function(t, n, e) {
    var r = e(2).document;
    t.exports = r && r.documentElement
}
, function(t, n, e) {
    var r = e(4)
      , i = e(1)
      , o = function(t, n) {
        if (i(t),
        !r(n) && null !== n)
            throw TypeError(n + ": can't set as prototype!")
    };
    t.exports = {
        set: Object.setPrototypeOf || ("__proto__"in {} ? function(t, n, r) {
            try {
                (r = e(19)(Function.call, e(16).f(Object.prototype, "__proto__").set, 2))(t, []),
                n = !(t instanceof Array)
            } catch (t) {
                n = !0
            }
            return function(t, e) {
                return o(t, e),
                n ? t.__proto__ = e : r(t, e),
                t
            }
        }({}, !1) : void 0),
        check: o
    }
}
, function(t, n) {
    t.exports = "\t\n\v\f\r   ᠎             　\u2028\u2029\ufeff"
}
, function(t, n, e) {
    var r = e(4)
      , i = e(71).set;
    t.exports = function(t, n, e) {
        var o, u = n.constructor;
        return u !== e && "function" == typeof u && (o = u.prototype) !== e.prototype && r(o) && i && i(t, o),
        t
    }
}
, function(t, n, e) {
    "use strict";
    var r = e(21)
      , i = e(24);
    t.exports = function(t) {
        var n = String(i(this))
          , e = ""
          , o = r(t);
        if (o < 0 || o == 1 / 0)
            throw RangeError("Count can't be negative");
        for (; o > 0; (o >>>= 1) && (n += n))
            1 & o && (e += n);
        return e
    }
}
, function(t, n) {
    t.exports = Math.sign || function(t) {
        return 0 == (t = +t) || t != t ? t : t < 0 ? -1 : 1
    }
}
, function(t, n) {
    var e = Math.expm1;
    t.exports = !e || e(10) > 22025.465794806718 || e(10) < 22025.465794806718 || -2e-17 != e(-2e-17) ? function(t) {
        return 0 == (t = +t) ? t : t > -1e-6 && t < 1e-6 ? t + t * t / 2 : Math.exp(t) - 1
    }
    : e
}
, function(t, n, e) {
    "use strict";
    var r = e(29)
      , i = e(0)
      , o = e(12)
      , u = e(11)
      , a = e(46)
      , c = e(78)
      , s = e(43)
      , f = e(17)
      , l = e(5)("iterator")
      , h = !([].keys && "next"in [].keys())
      , v = function() {
        return this
    };
    t.exports = function(t, n, e, p, d, g, y) {
        c(e, n, p);
        var b, m, x, w = function(t) {
            if (!h && t in M)
                return M[t];
            switch (t) {
            case "keys":
            case "values":
                return function() {
                    return new e(this,t)
                }
            }
            return function() {
                return new e(this,t)
            }
        }, S = n + " Iterator", _ = "values" == d, E = !1, M = t.prototype, k = M[l] || M["@@iterator"] || d && M[d], O = k || w(d), P = d ? _ ? w("entries") : O : void 0, A = "Array" == n && M.entries || k;
        if (A && (x = f(A.call(new t))) !== Object.prototype && x.next && (s(x, S, !0),
        r || "function" == typeof x[l] || u(x, l, v)),
        _ && k && "values" !== k.name && (E = !0,
        O = function() {
            return k.call(this)
        }
        ),
        r && !y || !h && !E && M[l] || u(M, l, O),
        a[n] = O,
        a[S] = v,
        d)
            if (b = {
                values: _ ? O : w("values"),
                keys: g ? O : w("keys"),
                entries: P
            },
            y)
                for (m in b)
                    m in M || o(M, m, b[m]);
            else
                i(i.P + i.F * (h || E), n, b);
        return b
    }
}
, function(t, n, e) {
    "use strict";
    var r = e(36)
      , i = e(32)
      , o = e(43)
      , u = {};
    e(11)(u, e(5)("iterator"), function() {
        return this
    }),
    t.exports = function(t, n, e) {
        t.prototype = r(u, {
            next: i(1, e)
        }),
        o(t, n + " Iterator")
    }
}
, function(t, n, e) {
    var r = e(56)
      , i = e(24);
    t.exports = function(t, n, e) {
        if (r(n))
            throw TypeError("String#" + e + " doesn't accept regex!");
        return String(i(t))
    }
}
, function(t, n, e) {
    var r = e(5)("match");
    t.exports = function(t) {
        var n = /./;
        try {
            "/./"[t](n)
        } catch (e) {
            try {
                return n[r] = !1,
                !"/./"[t](n)
            } catch (t) {}
        }
        return !0
    }
}
, function(t, n, e) {
    var r = e(46)
      , i = e(5)("iterator")
      , o = Array.prototype;
    t.exports = function(t) {
        return void 0 !== t && (r.Array === t || o[i] === t)
    }
}
, function(t, n, e) {
    "use strict";
    var r = e(8)
      , i = e(32);
    t.exports = function(t, n, e) {
        n in t ? r.f(t, n, i(0, e)) : t[n] = e
    }
}
, function(t, n, e) {
    var r = e(44)
      , i = e(5)("iterator")
      , o = e(46);
    t.exports = e(18).getIteratorMethod = function(t) {
        if (null != t)
            return t[i] || t["@@iterator"] || o[r(t)]
    }
}
, function(t, n, e) {
    var r = e(224);
    t.exports = function(t, n) {
        return new (r(t))(n)
    }
}
, function(t, n, e) {
    "use strict";
    var r = e(9)
      , i = e(35)
      , o = e(6);
    t.exports = function(t) {
        for (var n = r(this), e = o(n.length), u = arguments.length, a = i(u > 1 ? arguments[1] : void 0, e), c = u > 2 ? arguments[2] : void 0, s = void 0 === c ? e : i(c, e); s > a; )
            n[a++] = t;
        return n
    }
}
, function(t, n, e) {
    "use strict";
    var r = e(31)
      , i = e(113)
      , o = e(46)
      , u = e(15);
    t.exports = e(77)(Array, "Array", function(t, n) {
        this._t = u(t),
        this._i = 0,
        this._k = n
    }, function() {
        var t = this._t
          , n = this._k
          , e = this._i++;
        return !t || e >= t.length ? (this._t = void 0,
        i(1)) : i(0, "keys" == n ? e : "values" == n ? t[e] : [e, t[e]])
    }, "values"),
    o.Arguments = o.Array,
    r("keys"),
    r("values"),
    r("entries")
}
, function(t, n, e) {
    "use strict";
    var r, i, o = e(50), u = RegExp.prototype.exec, a = String.prototype.replace, c = u, s = (r = /a/,
    i = /b*/g,
    u.call(r, "a"),
    u.call(i, "a"),
    0 !== r.lastIndex || 0 !== i.lastIndex), f = void 0 !== /()??/.exec("")[1];
    (s || f) && (c = function(t) {
        var n, e, r, i, c = this;
        return f && (e = new RegExp("^" + c.source + "$(?!\\s)",o.call(c))),
        s && (n = c.lastIndex),
        r = u.call(c, t),
        s && r && (c.lastIndex = c.global ? r.index + r[0].length : n),
        f && r && r.length > 1 && a.call(r[0], e, function() {
            for (i = 1; i < arguments.length - 2; i++)
                void 0 === arguments[i] && (r[i] = void 0)
        }),
        r
    }
    ),
    t.exports = c
}
, function(t, n, e) {
    "use strict";
    var r = e(55)(!0);
    t.exports = function(t, n, e) {
        return n + (e ? r(t, n).length : 1)
    }
}
, function(t, n, e) {
    var r, i, o, u = e(19), a = e(103), c = e(70), s = e(66), f = e(2), l = f.process, h = f.setImmediate, v = f.clearImmediate, p = f.MessageChannel, d = f.Dispatch, g = 0, y = {}, b = function() {
        var t = +this;
        if (y.hasOwnProperty(t)) {
            var n = y[t];
            delete y[t],
            n()
        }
    }, m = function(t) {
        b.call(t.data)
    };
    h && v || (h = function(t) {
        for (var n = [], e = 1; arguments.length > e; )
            n.push(arguments[e++]);
        return y[++g] = function() {
            a("function" == typeof t ? t : Function(t), n)
        }
        ,
        r(g),
        g
    }
    ,
    v = function(t) {
        delete y[t]
    }
    ,
    "process" == e(20)(l) ? r = function(t) {
        l.nextTick(u(b, t, 1))
    }
    : d && d.now ? r = function(t) {
        d.now(u(b, t, 1))
    }
    : p ? (o = (i = new p).port2,
    i.port1.onmessage = m,
    r = u(o.postMessage, o, 1)) : f.addEventListener && "function" == typeof postMessage && !f.importScripts ? (r = function(t) {
        f.postMessage(t + "", "*")
    }
    ,
    f.addEventListener("message", m, !1)) : r = "onreadystatechange"in s("script") ? function(t) {
        c.appendChild(s("script")).onreadystatechange = function() {
            c.removeChild(this),
            b.call(t)
        }
    }
    : function(t) {
        setTimeout(u(b, t, 1), 0)
    }
    ),
    t.exports = {
        set: h,
        clear: v
    }
}
, function(t, n, e) {
    var r = e(2)
      , i = e(89).set
      , o = r.MutationObserver || r.WebKitMutationObserver
      , u = r.process
      , a = r.Promise
      , c = "process" == e(20)(u);
    t.exports = function() {
        var t, n, e, s = function() {
            var r, i;
            for (c && (r = u.domain) && r.exit(); t; ) {
                i = t.fn,
                t = t.next;
                try {
                    i()
                } catch (r) {
                    throw t ? e() : n = void 0,
                    r
                }
            }
            n = void 0,
            r && r.enter()
        };
        if (c)
            e = function() {
                u.nextTick(s)
            }
            ;
        else if (!o || r.navigator && r.navigator.standalone)
            if (a && a.resolve) {
                var f = a.resolve(void 0);
                e = function() {
                    f.then(s)
                }
            } else
                e = function() {
                    i.call(r, s)
                }
                ;
        else {
            var l = !0
              , h = document.createTextNode("");
            new o(s).observe(h, {
                characterData: !0
            }),
            e = function() {
                h.data = l = !l
            }
        }
        return function(r) {
            var i = {
                fn: r,
                next: void 0
            };
            n && (n.next = i),
            t || (t = i,
            e()),
            n = i
        }
    }
}
, function(t, n, e) {
    "use strict";
    var r = e(10);
    function i(t) {
        var n, e;
        this.promise = new t(function(t, r) {
            if (void 0 !== n || void 0 !== e)
                throw TypeError("Bad Promise constructor");
            n = t,
            e = r
        }
        ),
        this.resolve = r(n),
        this.reject = r(e)
    }
    t.exports.f = function(t) {
        return new i(t)
    }
}
, function(t, n, e) {
    "use strict";
    var r = e(2)
      , i = e(7)
      , o = e(29)
      , u = e(62)
      , a = e(11)
      , c = e(41)
      , s = e(3)
      , f = e(39)
      , l = e(21)
      , h = e(6)
      , v = e(123)
      , p = e(37).f
      , d = e(8).f
      , g = e(85)
      , y = e(43)
      , b = "prototype"
      , m = "Wrong index!"
      , x = r.ArrayBuffer
      , w = r.DataView
      , S = r.Math
      , _ = r.RangeError
      , E = r.Infinity
      , M = x
      , k = S.abs
      , O = S.pow
      , P = S.floor
      , A = S.log
      , I = S.LN2
      , j = i ? "_b" : "buffer"
      , F = i ? "_l" : "byteLength"
      , N = i ? "_o" : "byteOffset";
    function T(t, n, e) {
        var r, i, o, u = new Array(e), a = 8 * e - n - 1, c = (1 << a) - 1, s = c >> 1, f = 23 === n ? O(2, -24) - O(2, -77) : 0, l = 0, h = t < 0 || 0 === t && 1 / t < 0 ? 1 : 0;
        for ((t = k(t)) != t || t === E ? (i = t != t ? 1 : 0,
        r = c) : (r = P(A(t) / I),
        t * (o = O(2, -r)) < 1 && (r--,
        o *= 2),
        (t += r + s >= 1 ? f / o : f * O(2, 1 - s)) * o >= 2 && (r++,
        o /= 2),
        r + s >= c ? (i = 0,
        r = c) : r + s >= 1 ? (i = (t * o - 1) * O(2, n),
        r += s) : (i = t * O(2, s - 1) * O(2, n),
        r = 0)); n >= 8; u[l++] = 255 & i,
        i /= 256,
        n -= 8)
            ;
        for (r = r << n | i,
        a += n; a > 0; u[l++] = 255 & r,
        r /= 256,
        a -= 8)
            ;
        return u[--l] |= 128 * h,
        u
    }
    function R(t, n, e) {
        var r, i = 8 * e - n - 1, o = (1 << i) - 1, u = o >> 1, a = i - 7, c = e - 1, s = t[c--], f = 127 & s;
        for (s >>= 7; a > 0; f = 256 * f + t[c],
        c--,
        a -= 8)
            ;
        for (r = f & (1 << -a) - 1,
        f >>= -a,
        a += n; a > 0; r = 256 * r + t[c],
        c--,
        a -= 8)
            ;
        if (0 === f)
            f = 1 - u;
        else {
            if (f === o)
                return r ? NaN : s ? -E : E;
            r += O(2, n),
            f -= u
        }
        return (s ? -1 : 1) * r * O(2, f - n)
    }
    function W(t) {
        return t[3] << 24 | t[2] << 16 | t[1] << 8 | t[0]
    }
    function L(t) {
        return [255 & t]
    }
    function C(t) {
        return [255 & t, t >> 8 & 255]
    }
    function D(t) {
        return [255 & t, t >> 8 & 255, t >> 16 & 255, t >> 24 & 255]
    }
    function B(t) {
        return T(t, 52, 8)
    }
    function z(t) {
        return T(t, 23, 4)
    }
    function G(t, n, e) {
        d(t[b], n, {
            get: function() {
                return this[e]
            }
        })
    }
    function U(t, n, e, r) {
        var i = v(+e);
        if (i + n > t[F])
            throw _(m);
        var o = t[j]._b
          , u = i + t[N]
          , a = o.slice(u, u + n);
        return r ? a : a.reverse()
    }
    function V(t, n, e, r, i, o) {
        var u = v(+e);
        if (u + n > t[F])
            throw _(m);
        for (var a = t[j]._b, c = u + t[N], s = r(+i), f = 0; f < n; f++)
            a[c + f] = s[o ? f : n - f - 1]
    }
    if (u.ABV) {
        if (!s(function() {
            x(1)
        }) || !s(function() {
            new x(-1)
        }) || s(function() {
            return new x,
            new x(1.5),
            new x(NaN),
            "ArrayBuffer" != x.name
        })) {
            for (var Y, X = (x = function(t) {
                return f(this, x),
                new M(v(t))
            }
            )[b] = M[b], J = p(M), K = 0; J.length > K; )
                (Y = J[K++])in x || a(x, Y, M[Y]);
            o || (X.constructor = x)
        }
        var $ = new w(new x(2))
          , H = w[b].setInt8;
        $.setInt8(0, 2147483648),
        $.setInt8(1, 2147483649),
        !$.getInt8(0) && $.getInt8(1) || c(w[b], {
            setInt8: function(t, n) {
                H.call(this, t, n << 24 >> 24)
            },
            setUint8: function(t, n) {
                H.call(this, t, n << 24 >> 24)
            }
        }, !0)
    } else
        x = function(t) {
            f(this, x, "ArrayBuffer");
            var n = v(t);
            this._b = g.call(new Array(n), 0),
            this[F] = n
        }
        ,
        w = function(t, n, e) {
            f(this, w, "DataView"),
            f(t, x, "DataView");
            var r = t[F]
              , i = l(n);
            if (i < 0 || i > r)
                throw _("Wrong offset!");
            if (i + (e = void 0 === e ? r - i : h(e)) > r)
                throw _("Wrong length!");
            this[j] = t,
            this[N] = i,
            this[F] = e
        }
        ,
        i && (G(x, "byteLength", "_l"),
        G(w, "buffer", "_b"),
        G(w, "byteLength", "_l"),
        G(w, "byteOffset", "_o")),
        c(w[b], {
            getInt8: function(t) {
                return U(this, 1, t)[0] << 24 >> 24
            },
            getUint8: function(t) {
                return U(this, 1, t)[0]
            },
            getInt16: function(t) {
                var n = U(this, 2, t, arguments[1]);
                return (n[1] << 8 | n[0]) << 16 >> 16
            },
            getUint16: function(t) {
                var n = U(this, 2, t, arguments[1]);
                return n[1] << 8 | n[0]
            },
            getInt32: function(t) {
                return W(U(this, 4, t, arguments[1]))
            },
            getUint32: function(t) {
                return W(U(this, 4, t, arguments[1])) >>> 0
            },
            getFloat32: function(t) {
                return R(U(this, 4, t, arguments[1]), 23, 4)
            },
            getFloat64: function(t) {
                return R(U(this, 8, t, arguments[1]), 52, 8)
            },
            setInt8: function(t, n) {
                V(this, 1, t, L, n)
            },
            setUint8: function(t, n) {
                V(this, 1, t, L, n)
            },
            setInt16: function(t, n) {
                V(this, 2, t, C, n, arguments[2])
            },
            setUint16: function(t, n) {
                V(this, 2, t, C, n, arguments[2])
            },
            setInt32: function(t, n) {
                V(this, 4, t, D, n, arguments[2])
            },
            setUint32: function(t, n) {
                V(this, 4, t, D, n, arguments[2])
            },
            setFloat32: function(t, n) {
                V(this, 4, t, z, n, arguments[2])
            },
            setFloat64: function(t, n) {
                V(this, 8, t, B, n, arguments[2])
            }
        });
    y(x, "ArrayBuffer"),
    y(w, "DataView"),
    a(w[b], u.VIEW, !0),
    n.ArrayBuffer = x,
    n.DataView = w
}
, function(t, n, e) {
    "use strict";
    Object.defineProperty(n, "__esModule", {
        value: !0
    });
    var r = function() {
        return function(t, n) {
            if (Array.isArray(t))
                return t;
            if (Symbol.iterator in Object(t))
                return function(t, n) {
                    var e = []
                      , r = !0
                      , i = !1
                      , o = void 0;
                    try {
                        for (var u, a = t[Symbol.iterator](); !(r = (u = a.next()).done) && (e.push(u.value),
                        !n || e.length !== n); r = !0)
                            ;
                    } catch (t) {
                        i = !0,
                        o = t
                    } finally {
                        try {
                            !r && a.return && a.return()
                        } finally {
                            if (i)
                                throw o
                        }
                    }
                    return e
                }(t, n);
            throw new TypeError("Invalid attempt to destructure non-iterable instance")
        }
    }()
      , i = function() {
        function t(t, n) {
            for (var e = 0; e < n.length; e++) {
                var r = n[e];
                r.enumerable = r.enumerable || !1,
                r.configurable = !0,
                "value"in r && (r.writable = !0),
                Object.defineProperty(t, r.key, r)
            }
        }
        return function(n, e, r) {
            return e && t(n.prototype, e),
            r && t(n, r),
            n
        }
    }();
    var o = function() {
        function t() {
            !function(t, n) {
                if (!(t instanceof n))
                    throw new TypeError("Cannot call a class as a function")
            }(this, t)
        }
        return i(t, null, [{
            key: "getScore",
            value: function(n, e) {
                for (var i = n.nWin, o = 0, u = 0, a = 0, c = 0, s = 0, f = 0, l = 0; l < 4; l += 1) {
                    var h = t.getBoardAnalysisArrays(n, l)
                      , v = !0
                      , p = !1
                      , d = void 0;
                    try {
                        for (var g, y = h[Symbol.iterator](); !(v = (g = y.next()).done); v = !0) {
                            var b = g.value
                              , m = t.getWinCount(i, e, b)
                              , x = r(m, 8)
                              , w = x[0]
                              , S = x[1]
                              , _ = x[2]
                              , E = x[3]
                              , M = x[4]
                              , k = x[5]
                              , O = x[6]
                              , P = x[7];
                            if (-1 === e && w > 0)
                                return -1e5;
                            if (S > 0)
                                return 1e5;
                            o += _,
                            u += E,
                            a += M,
                            c += k,
                            s += O,
                            f += P
                        }
                    } catch (t) {
                        p = !0,
                        d = t
                    } finally {
                        try {
                            !v && y.return && y.return()
                        } finally {
                            if (p)
                                throw d
                        }
                    }
                }
                return o >= 1 ? 9e4 + 2400 * o : a + u >= 2 && i > 3 ? 9e4 + 1e3 * (a + u) : 300 * u + a * (i > 3 ? 1 : 0) * 150 + c * (i > 3 ? 1 : 0) * 100 + s * (i > 4 ? 1 : 0) * 50 + f * (i > 4 ? 1 : 0)
            }
        }, {
            key: "isWin",
            value: function(t, n) {
                if (void 0 === n)
                    throw new Error("分析的位置不能为空");
                var e = n.color
                  , r = t.nWin
                  , i = void 0;
                if (1 === r)
                    return !0;
                for (var o = this.getPlaceAnalysisArrays(t, n, r), u = 0; u < o.length; u += 1) {
                    i = 0;
                    var a = !0
                      , c = !1
                      , s = void 0;
                    try {
                        for (var f, l = o[u][Symbol.iterator](); !(a = (f = l.next()).done); a = !0) {
                            if (f.value === e) {
                                if ((i += 1) >= r)
                                    return !0
                            } else
                                i = 0
                        }
                    } catch (t) {
                        c = !0,
                        s = t
                    } finally {
                        try {
                            !a && l.return && l.return()
                        } finally {
                            if (c)
                                throw s
                        }
                    }
                }
                return !1
            }
        }, {
            key: "isFoul",
            value: function(n, e) {
                if (void 0 === e)
                    throw new Error("分析的位置不能为空");
                var i = e.color
                  , o = n.nWin
                  , u = o + 1;
                if (1 === i)
                    return !1;
                var a = 0
                  , c = 0
                  , s = 0
                  , f = this.getPlaceAnalysisArrays(n, e, u)
                  , l = !0
                  , h = !1
                  , v = void 0;
                try {
                    for (var p, d = f[Symbol.iterator](); !(l = (p = d.next()).done); l = !0) {
                        var g = p.value
                          , y = t.getWinCount(o, i, g)
                          , b = r(y, 5)
                          , m = b[0]
                          , x = b[2]
                          , w = b[3]
                          , S = b[4];
                        a += m,
                        c += x + w,
                        s += S
                    }
                } catch (t) {
                    h = !0,
                    v = t
                } finally {
                    try {
                        !l && d.return && d.return()
                    } finally {
                        if (h)
                            throw v
                    }
                }
                if (a > 0)
                    return "长连禁手";
                if (2 === s) {
                    if (0 === c)
                        return "三三禁手";
                    if (1 === c)
                        return "四三三禁手"
                } else if (2 === c && s < 2) {
                    if (0 === s)
                        return "四四禁手";
                    if (1 === s)
                        return "三四四禁手"
                }
                return !1
            }
        }, {
            key: "getPlaceScore",
            value: function(n, e) {
                if (void 0 === e)
                    throw new Error("分析的位置不能为空");
                var i = n.nWin
                  , o = i + 1
                  , u = 0
                  , a = t.getPlaceAnalysisArrays(n, e, o)
                  , c = !0
                  , s = !1
                  , f = void 0;
                try {
                    for (var l, h = a[Symbol.iterator](); !(c = (l = h.next()).done); c = !0) {
                        var v = l.value
                          , p = t.getWinCount(i, e.color, v)
                          , d = r(p, 8)
                          , g = d[1]
                          , y = d[2]
                          , b = d[3]
                          , m = d[4]
                          , x = d[5]
                          , w = d[6]
                          , S = d[7];
                        if (g > 0)
                            return 1e5;
                        var _ = t.getWinCount(i, -e.color, v)
                          , E = r(_, 8);
                        u += 1e4 * (g - E[1]) + 1e3 * (y - E[2]) + 300 * (b - E[3]) + 200 * (m - E[4]) + 30 * (x - E[5]) + 30 * (w - E[6]) + 1 * (S - E[7])
                    }
                } catch (t) {
                    s = !0,
                    f = t
                } finally {
                    try {
                        !c && h.return && h.return()
                    } finally {
                        if (s)
                            throw f
                    }
                }
                var M = e.color;
                e.color = 0,
                a = t.getPlaceAnalysisArrays(n, e, o);
                var k = !0
                  , O = !1
                  , P = void 0;
                try {
                    for (var A, I = a[Symbol.iterator](); !(k = (A = I.next()).done); k = !0) {
                        var j = A.value
                          , F = t.getWinCount(i, M, j)
                          , N = r(F, 8)
                          , T = (g = N[1],
                        y = N[2],
                        b = N[3],
                        m = N[4],
                        x = N[5],
                        w = N[6],
                        S = N[7],
                        t.getWinCount(i, -M, j))
                          , R = r(T, 8);
                        u -= 1e4 * (g - R[1]) + 1e3 * (y - R[2]) + 300 * (b - R[3]) + 200 * (m - R[4]) + 30 * (x - R[5]) + 20 * (w - R[6]) + 1 * (S - R[7])
                    }
                } catch (t) {
                    O = !0,
                    P = t
                } finally {
                    try {
                        !k && I.return && I.return()
                    } finally {
                        if (O)
                            throw P
                    }
                }
                return e.color = M,
                u
            }
        }, {
            key: "getWinCount",
            value: function(t, n, e) {
                for (var r = t + 1, i = [], o = 0, u = 0, a = 0, c = 0, s = 0, f = 0, l = 0, h = 0, v = 0, p = -n, d = 0, g = 0; g < e.length; g += 1) {
                    var y = isNaN(e[g]) ? -n : e[g];
                    if (y === n || i.length > 0) {
                        if (0 === i.length) {
                            if (p !== -n) {
                                var b = e.lastIndexOf(-n, g);
                                b = Math.max(b, Math.max(g - t + 2, 0)),
                                (b = e.indexOf(n, b)) < g && b > 0 && (y = e[g = b],
                                p = e[g - 1])
                            }
                            i.push(p)
                        }
                        if (i.push(y),
                        i.length >= r || y === -n || g >= e.length - 1) {
                            switch ((o = i.reduce(function(t, e) {
                                return t + (e === n ? 2 : 0)
                            }, 0)) >= 2 * t && (a += 1,
                            -1 === n && (o > 2 * t || e[g + 1] === n) && (u += 1)),
                            d = i.lastIndexOf(n) + 1,
                            0 !== (d = i[d = d > i.length - 1 ? i.length - 1 : d]) ? o -= 1 : 0 !== i[0] && (o -= 1),
                            g - e.lastIndexOf(-n, g - 1) <= (i[i.length - 1] === -n ? t : t - 1) && (o = -1e4),
                            2 * t - o) {
                            case 2:
                                c += 1;
                                break;
                            case 3:
                                s += 1;
                                break;
                            case 4:
                                f += 1;
                                break;
                            case 5:
                                l += 1;
                                break;
                            case 6:
                                h += 1;
                                break;
                            case 7:
                                v += 1
                            }
                            i.length = 0
                        }
                    }
                    p = y
                }
                return [u, a, c, s, f, l, h, v]
            }
        }, {
            key: "getBoardAnalysisArrays",
            value: function(t, n) {
                var e = t.data
                  , r = t.size
                  , i = []
                  , o = void 0
                  , u = -1
                  , a = void 0
                  , c = 0;
                switch (n) {
                case 0:
                    a = function(n, e) {
                        return t.getIndex(e, n)
                    }
                    ;
                    break;
                case 1:
                    a = function(n, e) {
                        return t.getIndex(n, e)
                    }
                    ;
                    break;
                case 2:
                    c = 1 - r,
                    a = function(n, e) {
                        return t.getIndex(n + e, e)
                    }
                    ;
                    break;
                case 3:
                    c = 1 - r,
                    a = function(n, e) {
                        return t.getIndex(n + e, r - e - 1)
                    }
                    ;
                    break;
                default:
                    throw new Error("direction : " + n)
                }
                for (var s = c; s < r; s += 1) {
                    o = [];
                    for (var f = 0; f < r; f += 1)
                        (u = a(s, f)) < 0 || o.push(e[u]);
                    i.push(o)
                }
                return i
            }
        }, {
            key: "getPlaceAnalysisArrays",
            value: function(t, n, e) {
                if (void 0 === n)
                    throw new Error("分析的位置不能为空");
                for (var r = [[], [], [], []], i = t.data, o = n.x, u = n.y, a = 0, c = -e - 1; c < e; c += 1)
                    if (0 !== c)
                        (a = t.getIndex(c + o, u)) > -1 && r[0].push(i[a]),
                        (a = t.getIndex(o, c + u)) > -1 && r[1].push(i[a]),
                        (a = t.getIndex(c + o, c + u)) > -1 && r[2].push(i[a]),
                        (a = t.getIndex(c + o, u - c)) > -1 && r[3].push(i[a]);
                    else
                        for (var s = 0; s < r.length; s += 1)
                            r[s].push(n.color);
                return r
            }
        }]),
        t
    }();
    n.default = o
}
, function(t, n) {
    var e;
    e = function() {
        return this
    }();
    try {
        e = e || new Function("return this")()
    } catch (t) {
        "object" == typeof window && (e = window)
    }
    t.exports = e
}
, function(t, n, e) {
    t.exports = !e(7) && !e(3)(function() {
        return 7 != Object.defineProperty(e(66)("div"), "a", {
            get: function() {
                return 7
            }
        }).a
    })
}
, function(t, n, e) {
    n.f = e(5)
}
, function(t, n, e) {
    var r = e(14)
      , i = e(15)
      , o = e(52)(!1)
      , u = e(68)("IE_PROTO");
    t.exports = function(t, n) {
        var e, a = i(t), c = 0, s = [];
        for (e in a)
            e != u && r(a, e) && s.push(e);
        for (; n.length > c; )
            r(a, e = n[c++]) && (~o(s, e) || s.push(e));
        return s
    }
}
, function(t, n, e) {
    var r = e(8)
      , i = e(1)
      , o = e(34);
    t.exports = e(7) ? Object.defineProperties : function(t, n) {
        i(t);
        for (var e, u = o(n), a = u.length, c = 0; a > c; )
            r.f(t, e = u[c++], n[e]);
        return t
    }
}
, function(t, n, e) {
    var r = e(15)
      , i = e(37).f
      , o = {}.toString
      , u = "object" == typeof window && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
    t.exports.f = function(t) {
        return u && "[object Window]" == o.call(t) ? function(t) {
            try {
                return i(t)
            } catch (t) {
                return u.slice()
            }
        }(t) : i(r(t))
    }
}
, function(t, n, e) {
    "use strict";
    var r = e(7)
      , i = e(34)
      , o = e(53)
      , u = e(49)
      , a = e(9)
      , c = e(48)
      , s = Object.assign;
    t.exports = !s || e(3)(function() {
        var t = {}
          , n = {}
          , e = Symbol()
          , r = "abcdefghijklmnopqrst";
        return t[e] = 7,
        r.split("").forEach(function(t) {
            n[t] = t
        }),
        7 != s({}, t)[e] || Object.keys(s({}, n)).join("") != r
    }) ? function(t, n) {
        for (var e = a(t), s = arguments.length, f = 1, l = o.f, h = u.f; s > f; )
            for (var v, p = c(arguments[f++]), d = l ? i(p).concat(l(p)) : i(p), g = d.length, y = 0; g > y; )
                v = d[y++],
                r && !h.call(p, v) || (e[v] = p[v]);
        return e
    }
    : s
}
, function(t, n) {
    t.exports = Object.is || function(t, n) {
        return t === n ? 0 !== t || 1 / t == 1 / n : t != t && n != n
    }
}
, function(t, n, e) {
    "use strict";
    var r = e(10)
      , i = e(4)
      , o = e(103)
      , u = [].slice
      , a = {};
    t.exports = Function.bind || function(t) {
        var n = r(this)
          , e = u.call(arguments, 1)
          , c = function() {
            var r = e.concat(u.call(arguments));
            return this instanceof c ? function(t, n, e) {
                if (!(n in a)) {
                    for (var r = [], i = 0; i < n; i++)
                        r[i] = "a[" + i + "]";
                    a[n] = Function("F,a", "return new F(" + r.join(",") + ")")
                }
                return a[n](t, e)
            }(n, r.length, r) : o(n, r, t)
        };
        return i(n.prototype) && (c.prototype = n.prototype),
        c
    }
}
, function(t, n) {
    t.exports = function(t, n, e) {
        var r = void 0 === e;
        switch (n.length) {
        case 0:
            return r ? t() : t.call(e);
        case 1:
            return r ? t(n[0]) : t.call(e, n[0]);
        case 2:
            return r ? t(n[0], n[1]) : t.call(e, n[0], n[1]);
        case 3:
            return r ? t(n[0], n[1], n[2]) : t.call(e, n[0], n[1], n[2]);
        case 4:
            return r ? t(n[0], n[1], n[2], n[3]) : t.call(e, n[0], n[1], n[2], n[3])
        }
        return t.apply(e, n)
    }
}
, function(t, n, e) {
    var r = e(2).parseInt
      , i = e(45).trim
      , o = e(72)
      , u = /^[-+]?0[xX]/;
    t.exports = 8 !== r(o + "08") || 22 !== r(o + "0x16") ? function(t, n) {
        var e = i(String(t), 3);
        return r(e, n >>> 0 || (u.test(e) ? 16 : 10))
    }
    : r
}
, function(t, n, e) {
    var r = e(2).parseFloat
      , i = e(45).trim;
    t.exports = 1 / r(e(72) + "-0") != -1 / 0 ? function(t) {
        var n = i(String(t), 3)
          , e = r(n);
        return 0 === e && "-" == n.charAt(0) ? -0 : e
    }
    : r
}
, function(t, n, e) {
    var r = e(20);
    t.exports = function(t, n) {
        if ("number" != typeof t && "Number" != r(t))
            throw TypeError(n);
        return +t
    }
}
, function(t, n, e) {
    var r = e(4)
      , i = Math.floor;
    t.exports = function(t) {
        return !r(t) && isFinite(t) && i(t) === t
    }
}
, function(t, n) {
    t.exports = Math.log1p || function(t) {
        return (t = +t) > -1e-8 && t < 1e-8 ? t - t * t / 2 : Math.log(1 + t)
    }
}
, function(t, n, e) {
    var r = e(75)
      , i = Math.pow
      , o = i(2, -52)
      , u = i(2, -23)
      , a = i(2, 127) * (2 - u)
      , c = i(2, -126);
    t.exports = Math.fround || function(t) {
        var n, e, i = Math.abs(t), s = r(t);
        return i < c ? s * (i / c / u + 1 / o - 1 / o) * c * u : (e = (n = (1 + u / o) * i) - (n - i)) > a || e != e ? s * (1 / 0) : s * e
    }
}
, function(t, n, e) {
    var r = e(1);
    t.exports = function(t, n, e, i) {
        try {
            return i ? n(r(e)[0], e[1]) : n(e)
        } catch (n) {
            var o = t.return;
            throw void 0 !== o && r(o.call(t)),
            n
        }
    }
}
, function(t, n, e) {
    var r = e(10)
      , i = e(9)
      , o = e(48)
      , u = e(6);
    t.exports = function(t, n, e, a, c) {
        r(n);
        var s = i(t)
          , f = o(s)
          , l = u(s.length)
          , h = c ? l - 1 : 0
          , v = c ? -1 : 1;
        if (e < 2)
            for (; ; ) {
                if (h in f) {
                    a = f[h],
                    h += v;
                    break
                }
                if (h += v,
                c ? h < 0 : l <= h)
                    throw TypeError("Reduce of empty array with no initial value")
            }
        for (; c ? h >= 0 : l > h; h += v)
            h in f && (a = n(a, f[h], h, s));
        return a
    }
}
, function(t, n, e) {
    "use strict";
    var r = e(9)
      , i = e(35)
      , o = e(6);
    t.exports = [].copyWithin || function(t, n) {
        var e = r(this)
          , u = o(e.length)
          , a = i(t, u)
          , c = i(n, u)
          , s = arguments.length > 2 ? arguments[2] : void 0
          , f = Math.min((void 0 === s ? u : i(s, u)) - c, u - a)
          , l = 1;
        for (c < a && a < c + f && (l = -1,
        c += f - 1,
        a += f - 1); f-- > 0; )
            c in e ? e[a] = e[c] : delete e[a],
            a += l,
            c += l;
        return e
    }
}
, function(t, n) {
    t.exports = function(t, n) {
        return {
            value: n,
            done: !!t
        }
    }
}
, function(t, n, e) {
    "use strict";
    var r = e(87);
    e(0)({
        target: "RegExp",
        proto: !0,
        forced: r !== /./.exec
    }, {
        exec: r
    })
}
, function(t, n, e) {
    e(7) && "g" != /./g.flags && e(8).f(RegExp.prototype, "flags", {
        configurable: !0,
        get: e(50)
    })
}
, function(t, n) {
    t.exports = function(t) {
        try {
            return {
                e: !1,
                v: t()
            }
        } catch (t) {
            return {
                e: !0,
                v: t
            }
        }
    }
}
, function(t, n, e) {
    var r = e(1)
      , i = e(4)
      , o = e(91);
    t.exports = function(t, n) {
        if (r(t),
        i(n) && n.constructor === t)
            return n;
        var e = o.f(t);
        return (0,
        e.resolve)(n),
        e.promise
    }
}
, function(t, n, e) {
    "use strict";
    var r = e(119)
      , i = e(42);
    t.exports = e(61)("Map", function(t) {
        return function() {
            return t(this, arguments.length > 0 ? arguments[0] : void 0)
        }
    }, {
        get: function(t) {
            var n = r.getEntry(i(this, "Map"), t);
            return n && n.v
        },
        set: function(t, n) {
            return r.def(i(this, "Map"), 0 === t ? 0 : t, n)
        }
    }, r, !0)
}
, function(t, n, e) {
    "use strict";
    var r = e(8).f
      , i = e(36)
      , o = e(41)
      , u = e(19)
      , a = e(39)
      , c = e(40)
      , s = e(77)
      , f = e(113)
      , l = e(38)
      , h = e(7)
      , v = e(30).fastKey
      , p = e(42)
      , d = h ? "_s" : "size"
      , g = function(t, n) {
        var e, r = v(n);
        if ("F" !== r)
            return t._i[r];
        for (e = t._f; e; e = e.n)
            if (e.k == n)
                return e
    };
    t.exports = {
        getConstructor: function(t, n, e, s) {
            var f = t(function(t, r) {
                a(t, f, n, "_i"),
                t._t = n,
                t._i = i(null),
                t._f = void 0,
                t._l = void 0,
                t[d] = 0,
                null != r && c(r, e, t[s], t)
            });
            return o(f.prototype, {
                clear: function() {
                    for (var t = p(this, n), e = t._i, r = t._f; r; r = r.n)
                        r.r = !0,
                        r.p && (r.p = r.p.n = void 0),
                        delete e[r.i];
                    t._f = t._l = void 0,
                    t[d] = 0
                },
                delete: function(t) {
                    var e = p(this, n)
                      , r = g(e, t);
                    if (r) {
                        var i = r.n
                          , o = r.p;
                        delete e._i[r.i],
                        r.r = !0,
                        o && (o.n = i),
                        i && (i.p = o),
                        e._f == r && (e._f = i),
                        e._l == r && (e._l = o),
                        e[d]--
                    }
                    return !!r
                },
                forEach: function(t) {
                    p(this, n);
                    for (var e, r = u(t, arguments.length > 1 ? arguments[1] : void 0, 3); e = e ? e.n : this._f; )
                        for (r(e.v, e.k, this); e && e.r; )
                            e = e.p
                },
                has: function(t) {
                    return !!g(p(this, n), t)
                }
            }),
            h && r(f.prototype, "size", {
                get: function() {
                    return p(this, n)[d]
                }
            }),
            f
        },
        def: function(t, n, e) {
            var r, i, o = g(t, n);
            return o ? o.v = e : (t._l = o = {
                i: i = v(n, !0),
                k: n,
                v: e,
                p: r = t._l,
                n: void 0,
                r: !1
            },
            t._f || (t._f = o),
            r && (r.n = o),
            t[d]++,
            "F" !== i && (t._i[i] = o)),
            t
        },
        getEntry: g,
        setStrong: function(t, n, e) {
            s(t, n, function(t, e) {
                this._t = p(t, n),
                this._k = e,
                this._l = void 0
            }, function() {
                for (var t = this._k, n = this._l; n && n.r; )
                    n = n.p;
                return this._t && (this._l = n = n ? n.n : this._t._f) ? f(0, "keys" == t ? n.k : "values" == t ? n.v : [n.k, n.v]) : (this._t = void 0,
                f(1))
            }, e ? "entries" : "values", !e, !0),
            l(n)
        }
    }
}
, function(t, n, e) {
    "use strict";
    var r = e(119)
      , i = e(42);
    t.exports = e(61)("Set", function(t) {
        return function() {
            return t(this, arguments.length > 0 ? arguments[0] : void 0)
        }
    }, {
        add: function(t) {
            return r.def(i(this, "Set"), t = 0 === t ? 0 : t, t)
        }
    }, r)
}
, function(t, n, e) {
    "use strict";
    var r, i = e(2), o = e(26)(0), u = e(12), a = e(30), c = e(100), s = e(122), f = e(4), l = e(42), h = e(42), v = !i.ActiveXObject && "ActiveXObject"in i, p = a.getWeak, d = Object.isExtensible, g = s.ufstore, y = function(t) {
        return function() {
            return t(this, arguments.length > 0 ? arguments[0] : void 0)
        }
    }, b = {
        get: function(t) {
            if (f(t)) {
                var n = p(t);
                return !0 === n ? g(l(this, "WeakMap")).get(t) : n ? n[this._i] : void 0
            }
        },
        set: function(t, n) {
            return s.def(l(this, "WeakMap"), t, n)
        }
    }, m = t.exports = e(61)("WeakMap", y, b, s, !0, !0);
    h && v && (c((r = s.getConstructor(y, "WeakMap")).prototype, b),
    a.NEED = !0,
    o(["delete", "has", "get", "set"], function(t) {
        var n = m.prototype
          , e = n[t];
        u(n, t, function(n, i) {
            if (f(n) && !d(n)) {
                this._f || (this._f = new r);
                var o = this._f[t](n, i);
                return "set" == t ? this : o
            }
            return e.call(this, n, i)
        })
    }))
}
, function(t, n, e) {
    "use strict";
    var r = e(41)
      , i = e(30).getWeak
      , o = e(1)
      , u = e(4)
      , a = e(39)
      , c = e(40)
      , s = e(26)
      , f = e(14)
      , l = e(42)
      , h = s(5)
      , v = s(6)
      , p = 0
      , d = function(t) {
        return t._l || (t._l = new g)
    }
      , g = function() {
        this.a = []
    }
      , y = function(t, n) {
        return h(t.a, function(t) {
            return t[0] === n
        })
    };
    g.prototype = {
        get: function(t) {
            var n = y(this, t);
            if (n)
                return n[1]
        },
        has: function(t) {
            return !!y(this, t)
        },
        set: function(t, n) {
            var e = y(this, t);
            e ? e[1] = n : this.a.push([t, n])
        },
        delete: function(t) {
            var n = v(this.a, function(n) {
                return n[0] === t
            });
            return ~n && this.a.splice(n, 1),
            !!~n
        }
    },
    t.exports = {
        getConstructor: function(t, n, e, o) {
            var s = t(function(t, r) {
                a(t, s, n, "_i"),
                t._t = n,
                t._i = p++,
                t._l = void 0,
                null != r && c(r, e, t[o], t)
            });
            return r(s.prototype, {
                delete: function(t) {
                    if (!u(t))
                        return !1;
                    var e = i(t);
                    return !0 === e ? d(l(this, n)).delete(t) : e && f(e, this._i) && delete e[this._i]
                },
                has: function(t) {
                    if (!u(t))
                        return !1;
                    var e = i(t);
                    return !0 === e ? d(l(this, n)).has(t) : e && f(e, this._i)
                }
            }),
            s
        },
        def: function(t, n, e) {
            var r = i(o(n), !0);
            return !0 === r ? d(t).set(n, e) : r[t._i] = e,
            t
        },
        ufstore: d
    }
}
, function(t, n, e) {
    var r = e(21)
      , i = e(6);
    t.exports = function(t) {
        if (void 0 === t)
            return 0;
        var n = r(t)
          , e = i(n);
        if (n !== e)
            throw RangeError("Wrong length!");
        return e
    }
}
, function(t, n, e) {
    var r = e(37)
      , i = e(53)
      , o = e(1)
      , u = e(2).Reflect;
    t.exports = u && u.ownKeys || function(t) {
        var n = r.f(o(t))
          , e = i.f;
        return e ? n.concat(e(t)) : n
    }
}
, function(t, n, e) {
    "use strict";
    var r = e(54)
      , i = e(4)
      , o = e(6)
      , u = e(19)
      , a = e(5)("isConcatSpreadable");
    t.exports = function t(n, e, c, s, f, l, h, v) {
        for (var p, d, g = f, y = 0, b = !!h && u(h, v, 3); y < s; ) {
            if (y in c) {
                if (p = b ? b(c[y], y, e) : c[y],
                d = !1,
                i(p) && (d = void 0 !== (d = p[a]) ? !!d : r(p)),
                d && l > 0)
                    g = t(n, e, p, o(p.length), g, l - 1) - 1;
                else {
                    if (g >= 9007199254740991)
                        throw TypeError();
                    n[g] = p
                }
                g++
            }
            y++
        }
        return g
    }
}
, function(t, n, e) {
    var r = e(6)
      , i = e(74)
      , o = e(24);
    t.exports = function(t, n, e, u) {
        var a = String(o(t))
          , c = a.length
          , s = void 0 === e ? " " : String(e)
          , f = r(n);
        if (f <= c || "" == s)
            return a;
        var l = f - c
          , h = i.call(s, Math.ceil(l / s.length));
        return h.length > l && (h = h.slice(0, l)),
        u ? h + a : a + h
    }
}
, function(t, n, e) {
    var r = e(7)
      , i = e(34)
      , o = e(15)
      , u = e(49).f;
    t.exports = function(t) {
        return function(n) {
            for (var e, a = o(n), c = i(a), s = c.length, f = 0, l = []; s > f; )
                e = c[f++],
                r && !u.call(a, e) || l.push(t ? [e, a[e]] : a[e]);
            return l
        }
    }
}
, function(t, n, e) {
    var r = e(44)
      , i = e(129);
    t.exports = function(t) {
        return function() {
            if (r(this) != t)
                throw TypeError(t + "#toJSON isn't generic");
            return i(this)
        }
    }
}
, function(t, n, e) {
    var r = e(40);
    t.exports = function(t, n) {
        var e = [];
        return r(t, !1, e.push, e, n),
        e
    }
}
, function(t, n) {
    t.exports = Math.scale || function(t, n, e, r, i) {
        return 0 === arguments.length || t != t || n != n || e != e || r != r || i != i ? NaN : t === 1 / 0 || t === -1 / 0 ? t : (t - n) * (i - r) / (e - n) + r
    }
}
, function(t, n, e) {
    e(132),
    t.exports = e(334)
}
, function(t, n, e) {
    "use strict";
    (function(t) {
        if (e(133),
        e(330),
        e(331),
        t._babelPolyfill)
            throw new Error("only one instance of babel-polyfill is allowed");
        t._babelPolyfill = !0;
        var n = "defineProperty";
        function r(t, e, r) {
            t[e] || Object[n](t, e, {
                writable: !0,
                configurable: !0,
                value: r
            })
        }
        r(String.prototype, "padLeft", "".padStart),
        r(String.prototype, "padRight", "".padEnd),
        "pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill".split(",").forEach(function(t) {
            [][t] && r(Array, t, Function.call.bind([][t]))
        })
    }
    ).call(this, e(94))
}
, function(t, n, e) {
    e(134),
    e(137),
    e(138),
    e(139),
    e(140),
    e(141),
    e(142),
    e(143),
    e(144),
    e(145),
    e(146),
    e(147),
    e(148),
    e(149),
    e(150),
    e(151),
    e(152),
    e(153),
    e(154),
    e(155),
    e(156),
    e(157),
    e(158),
    e(159),
    e(160),
    e(161),
    e(162),
    e(163),
    e(164),
    e(165),
    e(166),
    e(167),
    e(168),
    e(169),
    e(170),
    e(171),
    e(172),
    e(173),
    e(174),
    e(175),
    e(176),
    e(177),
    e(178),
    e(179),
    e(180),
    e(181),
    e(182),
    e(183),
    e(184),
    e(185),
    e(186),
    e(187),
    e(188),
    e(189),
    e(190),
    e(191),
    e(192),
    e(193),
    e(194),
    e(195),
    e(196),
    e(197),
    e(198),
    e(199),
    e(200),
    e(201),
    e(202),
    e(203),
    e(204),
    e(205),
    e(206),
    e(207),
    e(208),
    e(209),
    e(210),
    e(211),
    e(212),
    e(214),
    e(215),
    e(217),
    e(218),
    e(219),
    e(220),
    e(221),
    e(222),
    e(223),
    e(225),
    e(226),
    e(227),
    e(228),
    e(229),
    e(230),
    e(231),
    e(232),
    e(233),
    e(234),
    e(235),
    e(236),
    e(237),
    e(86),
    e(238),
    e(114),
    e(239),
    e(115),
    e(240),
    e(241),
    e(242),
    e(243),
    e(244),
    e(118),
    e(120),
    e(121),
    e(245),
    e(246),
    e(247),
    e(248),
    e(249),
    e(250),
    e(251),
    e(252),
    e(253),
    e(254),
    e(255),
    e(256),
    e(257),
    e(258),
    e(259),
    e(260),
    e(261),
    e(262),
    e(263),
    e(264),
    e(265),
    e(266),
    e(267),
    e(268),
    e(269),
    e(270),
    e(271),
    e(272),
    e(273),
    e(274),
    e(275),
    e(276),
    e(277),
    e(278),
    e(279),
    e(280),
    e(281),
    e(282),
    e(283),
    e(284),
    e(285),
    e(286),
    e(287),
    e(288),
    e(289),
    e(290),
    e(291),
    e(292),
    e(293),
    e(294),
    e(295),
    e(296),
    e(297),
    e(298),
    e(299),
    e(300),
    e(301),
    e(302),
    e(303),
    e(304),
    e(305),
    e(306),
    e(307),
    e(308),
    e(309),
    e(310),
    e(311),
    e(312),
    e(313),
    e(314),
    e(315),
    e(316),
    e(317),
    e(318),
    e(319),
    e(320),
    e(321),
    e(322),
    e(323),
    e(324),
    e(325),
    e(326),
    e(327),
    e(328),
    e(329),
    t.exports = e(18)
}
, function(t, n, e) {
    "use strict";
    var r = e(2)
      , i = e(14)
      , o = e(7)
      , u = e(0)
      , a = e(12)
      , c = e(30).KEY
      , s = e(3)
      , f = e(47)
      , l = e(43)
      , h = e(33)
      , v = e(5)
      , p = e(96)
      , d = e(67)
      , g = e(136)
      , y = e(54)
      , b = e(1)
      , m = e(4)
      , x = e(9)
      , w = e(15)
      , S = e(23)
      , _ = e(32)
      , E = e(36)
      , M = e(99)
      , k = e(16)
      , O = e(53)
      , P = e(8)
      , A = e(34)
      , I = k.f
      , j = P.f
      , F = M.f
      , N = r.Symbol
      , T = r.JSON
      , R = T && T.stringify
      , W = v("_hidden")
      , L = v("toPrimitive")
      , C = {}.propertyIsEnumerable
      , D = f("symbol-registry")
      , B = f("symbols")
      , z = f("op-symbols")
      , G = Object.prototype
      , U = "function" == typeof N && !!O.f
      , V = r.QObject
      , Y = !V || !V.prototype || !V.prototype.findChild
      , X = o && s(function() {
        return 7 != E(j({}, "a", {
            get: function() {
                return j(this, "a", {
                    value: 7
                }).a
            }
        })).a
    }) ? function(t, n, e) {
        var r = I(G, n);
        r && delete G[n],
        j(t, n, e),
        r && t !== G && j(G, n, r)
    }
    : j
      , J = function(t) {
        var n = B[t] = E(N.prototype);
        return n._k = t,
        n
    }
      , K = U && "symbol" == typeof N.iterator ? function(t) {
        return "symbol" == typeof t
    }
    : function(t) {
        return t instanceof N
    }
      , $ = function(t, n, e) {
        return t === G && $(z, n, e),
        b(t),
        n = S(n, !0),
        b(e),
        i(B, n) ? (e.enumerable ? (i(t, W) && t[W][n] && (t[W][n] = !1),
        e = E(e, {
            enumerable: _(0, !1)
        })) : (i(t, W) || j(t, W, _(1, {})),
        t[W][n] = !0),
        X(t, n, e)) : j(t, n, e)
    }
      , H = function(t, n) {
        b(t);
        for (var e, r = g(n = w(n)), i = 0, o = r.length; o > i; )
            $(t, e = r[i++], n[e]);
        return t
    }
      , q = function(t) {
        var n = C.call(this, t = S(t, !0));
        return !(this === G && i(B, t) && !i(z, t)) && (!(n || !i(this, t) || !i(B, t) || i(this, W) && this[W][t]) || n)
    }
      , Z = function(t, n) {
        if (t = w(t),
        n = S(n, !0),
        t !== G || !i(B, n) || i(z, n)) {
            var e = I(t, n);
            return !e || !i(B, n) || i(t, W) && t[W][n] || (e.enumerable = !0),
            e
        }
    }
      , Q = function(t) {
        for (var n, e = F(w(t)), r = [], o = 0; e.length > o; )
            i(B, n = e[o++]) || n == W || n == c || r.push(n);
        return r
    }
      , tt = function(t) {
        for (var n, e = t === G, r = F(e ? z : w(t)), o = [], u = 0; r.length > u; )
            !i(B, n = r[u++]) || e && !i(G, n) || o.push(B[n]);
        return o
    };
    U || (a((N = function() {
        if (this instanceof N)
            throw TypeError("Symbol is not a constructor!");
        var t = h(arguments.length > 0 ? arguments[0] : void 0)
          , n = function(e) {
            this === G && n.call(z, e),
            i(this, W) && i(this[W], t) && (this[W][t] = !1),
            X(this, t, _(1, e))
        };
        return o && Y && X(G, t, {
            configurable: !0,
            set: n
        }),
        J(t)
    }
    ).prototype, "toString", function() {
        return this._k
    }),
    k.f = Z,
    P.f = $,
    e(37).f = M.f = Q,
    e(49).f = q,
    O.f = tt,
    o && !e(29) && a(G, "propertyIsEnumerable", q, !0),
    p.f = function(t) {
        return J(v(t))
    }
    ),
    u(u.G + u.W + u.F * !U, {
        Symbol: N
    });
    for (var nt = "hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","), et = 0; nt.length > et; )
        v(nt[et++]);
    for (var rt = A(v.store), it = 0; rt.length > it; )
        d(rt[it++]);
    u(u.S + u.F * !U, "Symbol", {
        for: function(t) {
            return i(D, t += "") ? D[t] : D[t] = N(t)
        },
        keyFor: function(t) {
            if (!K(t))
                throw TypeError(t + " is not a symbol!");
            for (var n in D)
                if (D[n] === t)
                    return n
        },
        useSetter: function() {
            Y = !0
        },
        useSimple: function() {
            Y = !1
        }
    }),
    u(u.S + u.F * !U, "Object", {
        create: function(t, n) {
            return void 0 === n ? E(t) : H(E(t), n)
        },
        defineProperty: $,
        defineProperties: H,
        getOwnPropertyDescriptor: Z,
        getOwnPropertyNames: Q,
        getOwnPropertySymbols: tt
    });
    var ot = s(function() {
        O.f(1)
    });
    u(u.S + u.F * ot, "Object", {
        getOwnPropertySymbols: function(t) {
            return O.f(x(t))
        }
    }),
    T && u(u.S + u.F * (!U || s(function() {
        var t = N();
        return "[null]" != R([t]) || "{}" != R({
            a: t
        }) || "{}" != R(Object(t))
    })), "JSON", {
        stringify: function(t) {
            for (var n, e, r = [t], i = 1; arguments.length > i; )
                r.push(arguments[i++]);
            if (e = n = r[1],
            (m(n) || void 0 !== t) && !K(t))
                return y(n) || (n = function(t, n) {
                    if ("function" == typeof e && (n = e.call(this, t, n)),
                    !K(n))
                        return n
                }
                ),
                r[1] = n,
                R.apply(T, r)
        }
    }),
    N.prototype[L] || e(11)(N.prototype, L, N.prototype.valueOf),
    l(N, "Symbol"),
    l(Math, "Math", !0),
    l(r.JSON, "JSON", !0)
}
, function(t, n, e) {
    t.exports = e(47)("native-function-to-string", Function.toString)
}
, function(t, n, e) {
    var r = e(34)
      , i = e(53)
      , o = e(49);
    t.exports = function(t) {
        var n = r(t)
          , e = i.f;
        if (e)
            for (var u, a = e(t), c = o.f, s = 0; a.length > s; )
                c.call(t, u = a[s++]) && n.push(u);
        return n
    }
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Object", {
        create: e(36)
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S + r.F * !e(7), "Object", {
        defineProperty: e(8).f
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S + r.F * !e(7), "Object", {
        defineProperties: e(98)
    })
}
, function(t, n, e) {
    var r = e(15)
      , i = e(16).f;
    e(25)("getOwnPropertyDescriptor", function() {
        return function(t, n) {
            return i(r(t), n)
        }
    })
}
, function(t, n, e) {
    var r = e(9)
      , i = e(17);
    e(25)("getPrototypeOf", function() {
        return function(t) {
            return i(r(t))
        }
    })
}
, function(t, n, e) {
    var r = e(9)
      , i = e(34);
    e(25)("keys", function() {
        return function(t) {
            return i(r(t))
        }
    })
}
, function(t, n, e) {
    e(25)("getOwnPropertyNames", function() {
        return e(99).f
    })
}
, function(t, n, e) {
    var r = e(4)
      , i = e(30).onFreeze;
    e(25)("freeze", function(t) {
        return function(n) {
            return t && r(n) ? t(i(n)) : n
        }
    })
}
, function(t, n, e) {
    var r = e(4)
      , i = e(30).onFreeze;
    e(25)("seal", function(t) {
        return function(n) {
            return t && r(n) ? t(i(n)) : n
        }
    })
}
, function(t, n, e) {
    var r = e(4)
      , i = e(30).onFreeze;
    e(25)("preventExtensions", function(t) {
        return function(n) {
            return t && r(n) ? t(i(n)) : n
        }
    })
}
, function(t, n, e) {
    var r = e(4);
    e(25)("isFrozen", function(t) {
        return function(n) {
            return !r(n) || !!t && t(n)
        }
    })
}
, function(t, n, e) {
    var r = e(4);
    e(25)("isSealed", function(t) {
        return function(n) {
            return !r(n) || !!t && t(n)
        }
    })
}
, function(t, n, e) {
    var r = e(4);
    e(25)("isExtensible", function(t) {
        return function(n) {
            return !!r(n) && (!t || t(n))
        }
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S + r.F, "Object", {
        assign: e(100)
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Object", {
        is: e(101)
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Object", {
        setPrototypeOf: e(71).set
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(44)
      , i = {};
    i[e(5)("toStringTag")] = "z",
    i + "" != "[object z]" && e(12)(Object.prototype, "toString", function() {
        return "[object " + r(this) + "]"
    }, !0)
}
, function(t, n, e) {
    var r = e(0);
    r(r.P, "Function", {
        bind: e(102)
    })
}
, function(t, n, e) {
    var r = e(8).f
      , i = Function.prototype
      , o = /^\s*function ([^ (]*)/;
    "name"in i || e(7) && r(i, "name", {
        configurable: !0,
        get: function() {
            try {
                return ("" + this).match(o)[1]
            } catch (t) {
                return ""
            }
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(4)
      , i = e(17)
      , o = e(5)("hasInstance")
      , u = Function.prototype;
    o in u || e(8).f(u, o, {
        value: function(t) {
            if ("function" != typeof this || !r(t))
                return !1;
            if (!r(this.prototype))
                return t instanceof this;
            for (; t = i(t); )
                if (this.prototype === t)
                    return !0;
            return !1
        }
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(104);
    r(r.G + r.F * (parseInt != i), {
        parseInt: i
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(105);
    r(r.G + r.F * (parseFloat != i), {
        parseFloat: i
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(2)
      , i = e(14)
      , o = e(20)
      , u = e(73)
      , a = e(23)
      , c = e(3)
      , s = e(37).f
      , f = e(16).f
      , l = e(8).f
      , h = e(45).trim
      , v = r.Number
      , p = v
      , d = v.prototype
      , g = "Number" == o(e(36)(d))
      , y = "trim"in String.prototype
      , b = function(t) {
        var n = a(t, !1);
        if ("string" == typeof n && n.length > 2) {
            var e, r, i, o = (n = y ? n.trim() : h(n, 3)).charCodeAt(0);
            if (43 === o || 45 === o) {
                if (88 === (e = n.charCodeAt(2)) || 120 === e)
                    return NaN
            } else if (48 === o) {
                switch (n.charCodeAt(1)) {
                case 66:
                case 98:
                    r = 2,
                    i = 49;
                    break;
                case 79:
                case 111:
                    r = 8,
                    i = 55;
                    break;
                default:
                    return +n
                }
                for (var u, c = n.slice(2), s = 0, f = c.length; s < f; s++)
                    if ((u = c.charCodeAt(s)) < 48 || u > i)
                        return NaN;
                return parseInt(c, r)
            }
        }
        return +n
    };
    if (!v(" 0o1") || !v("0b1") || v("+0x1")) {
        v = function(t) {
            var n = arguments.length < 1 ? 0 : t
              , e = this;
            return e instanceof v && (g ? c(function() {
                d.valueOf.call(e)
            }) : "Number" != o(e)) ? u(new p(b(n)), e, v) : b(n)
        }
        ;
        for (var m, x = e(7) ? s(p) : "MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","), w = 0; x.length > w; w++)
            i(p, m = x[w]) && !i(v, m) && l(v, m, f(p, m));
        v.prototype = d,
        d.constructor = v,
        e(12)(r, "Number", v)
    }
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(21)
      , o = e(106)
      , u = e(74)
      , a = 1..toFixed
      , c = Math.floor
      , s = [0, 0, 0, 0, 0, 0]
      , f = "Number.toFixed: incorrect invocation!"
      , l = function(t, n) {
        for (var e = -1, r = n; ++e < 6; )
            r += t * s[e],
            s[e] = r % 1e7,
            r = c(r / 1e7)
    }
      , h = function(t) {
        for (var n = 6, e = 0; --n >= 0; )
            e += s[n],
            s[n] = c(e / t),
            e = e % t * 1e7
    }
      , v = function() {
        for (var t = 6, n = ""; --t >= 0; )
            if ("" !== n || 0 === t || 0 !== s[t]) {
                var e = String(s[t]);
                n = "" === n ? e : n + u.call("0", 7 - e.length) + e
            }
        return n
    }
      , p = function(t, n, e) {
        return 0 === n ? e : n % 2 == 1 ? p(t, n - 1, e * t) : p(t * t, n / 2, e)
    };
    r(r.P + r.F * (!!a && ("0.000" !== 8e-5.toFixed(3) || "1" !== .9.toFixed(0) || "1.25" !== 1.255.toFixed(2) || "1000000000000000128" !== (0xde0b6b3a7640080).toFixed(0)) || !e(3)(function() {
        a.call({})
    })), "Number", {
        toFixed: function(t) {
            var n, e, r, a, c = o(this, f), s = i(t), d = "", g = "0";
            if (s < 0 || s > 20)
                throw RangeError(f);
            if (c != c)
                return "NaN";
            if (c <= -1e21 || c >= 1e21)
                return String(c);
            if (c < 0 && (d = "-",
            c = -c),
            c > 1e-21)
                if (e = (n = function(t) {
                    for (var n = 0, e = t; e >= 4096; )
                        n += 12,
                        e /= 4096;
                    for (; e >= 2; )
                        n += 1,
                        e /= 2;
                    return n
                }(c * p(2, 69, 1)) - 69) < 0 ? c * p(2, -n, 1) : c / p(2, n, 1),
                e *= 4503599627370496,
                (n = 52 - n) > 0) {
                    for (l(0, e),
                    r = s; r >= 7; )
                        l(1e7, 0),
                        r -= 7;
                    for (l(p(10, r, 1), 0),
                    r = n - 1; r >= 23; )
                        h(1 << 23),
                        r -= 23;
                    h(1 << r),
                    l(1, 1),
                    h(2),
                    g = v()
                } else
                    l(0, e),
                    l(1 << -n, 0),
                    g = v() + u.call("0", s);
            return g = s > 0 ? d + ((a = g.length) <= s ? "0." + u.call("0", s - a) + g : g.slice(0, a - s) + "." + g.slice(a - s)) : d + g
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(3)
      , o = e(106)
      , u = 1..toPrecision;
    r(r.P + r.F * (i(function() {
        return "1" !== u.call(1, void 0)
    }) || !i(function() {
        u.call({})
    })), "Number", {
        toPrecision: function(t) {
            var n = o(this, "Number#toPrecision: incorrect invocation!");
            return void 0 === t ? u.call(n) : u.call(n, t)
        }
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Number", {
        EPSILON: Math.pow(2, -52)
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(2).isFinite;
    r(r.S, "Number", {
        isFinite: function(t) {
            return "number" == typeof t && i(t)
        }
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Number", {
        isInteger: e(107)
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Number", {
        isNaN: function(t) {
            return t != t
        }
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(107)
      , o = Math.abs;
    r(r.S, "Number", {
        isSafeInteger: function(t) {
            return i(t) && o(t) <= 9007199254740991
        }
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Number", {
        MAX_SAFE_INTEGER: 9007199254740991
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Number", {
        MIN_SAFE_INTEGER: -9007199254740991
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(105);
    r(r.S + r.F * (Number.parseFloat != i), "Number", {
        parseFloat: i
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(104);
    r(r.S + r.F * (Number.parseInt != i), "Number", {
        parseInt: i
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(108)
      , o = Math.sqrt
      , u = Math.acosh;
    r(r.S + r.F * !(u && 710 == Math.floor(u(Number.MAX_VALUE)) && u(1 / 0) == 1 / 0), "Math", {
        acosh: function(t) {
            return (t = +t) < 1 ? NaN : t > 94906265.62425156 ? Math.log(t) + Math.LN2 : i(t - 1 + o(t - 1) * o(t + 1))
        }
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = Math.asinh;
    r(r.S + r.F * !(i && 1 / i(0) > 0), "Math", {
        asinh: function t(n) {
            return isFinite(n = +n) && 0 != n ? n < 0 ? -t(-n) : Math.log(n + Math.sqrt(n * n + 1)) : n
        }
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = Math.atanh;
    r(r.S + r.F * !(i && 1 / i(-0) < 0), "Math", {
        atanh: function(t) {
            return 0 == (t = +t) ? t : Math.log((1 + t) / (1 - t)) / 2
        }
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(75);
    r(r.S, "Math", {
        cbrt: function(t) {
            return i(t = +t) * Math.pow(Math.abs(t), 1 / 3)
        }
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Math", {
        clz32: function(t) {
            return (t >>>= 0) ? 31 - Math.floor(Math.log(t + .5) * Math.LOG2E) : 32
        }
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = Math.exp;
    r(r.S, "Math", {
        cosh: function(t) {
            return (i(t = +t) + i(-t)) / 2
        }
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(76);
    r(r.S + r.F * (i != Math.expm1), "Math", {
        expm1: i
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Math", {
        fround: e(109)
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = Math.abs;
    r(r.S, "Math", {
        hypot: function(t, n) {
            for (var e, r, o = 0, u = 0, a = arguments.length, c = 0; u < a; )
                c < (e = i(arguments[u++])) ? (o = o * (r = c / e) * r + 1,
                c = e) : o += e > 0 ? (r = e / c) * r : e;
            return c === 1 / 0 ? 1 / 0 : c * Math.sqrt(o)
        }
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = Math.imul;
    r(r.S + r.F * e(3)(function() {
        return -5 != i(4294967295, 5) || 2 != i.length
    }), "Math", {
        imul: function(t, n) {
            var e = +t
              , r = +n
              , i = 65535 & e
              , o = 65535 & r;
            return 0 | i * o + ((65535 & e >>> 16) * o + i * (65535 & r >>> 16) << 16 >>> 0)
        }
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Math", {
        log10: function(t) {
            return Math.log(t) * Math.LOG10E
        }
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Math", {
        log1p: e(108)
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Math", {
        log2: function(t) {
            return Math.log(t) / Math.LN2
        }
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Math", {
        sign: e(75)
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(76)
      , o = Math.exp;
    r(r.S + r.F * e(3)(function() {
        return -2e-17 != !Math.sinh(-2e-17)
    }), "Math", {
        sinh: function(t) {
            return Math.abs(t = +t) < 1 ? (i(t) - i(-t)) / 2 : (o(t - 1) - o(-t - 1)) * (Math.E / 2)
        }
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(76)
      , o = Math.exp;
    r(r.S, "Math", {
        tanh: function(t) {
            var n = i(t = +t)
              , e = i(-t);
            return n == 1 / 0 ? 1 : e == 1 / 0 ? -1 : (n - e) / (o(t) + o(-t))
        }
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Math", {
        trunc: function(t) {
            return (t > 0 ? Math.floor : Math.ceil)(t)
        }
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(35)
      , o = String.fromCharCode
      , u = String.fromCodePoint;
    r(r.S + r.F * (!!u && 1 != u.length), "String", {
        fromCodePoint: function(t) {
            for (var n, e = [], r = arguments.length, u = 0; r > u; ) {
                if (n = +arguments[u++],
                i(n, 1114111) !== n)
                    throw RangeError(n + " is not a valid code point");
                e.push(n < 65536 ? o(n) : o(55296 + ((n -= 65536) >> 10), n % 1024 + 56320))
            }
            return e.join("")
        }
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(15)
      , o = e(6);
    r(r.S, "String", {
        raw: function(t) {
            for (var n = i(t.raw), e = o(n.length), r = arguments.length, u = [], a = 0; e > a; )
                u.push(String(n[a++])),
                a < r && u.push(String(arguments[a]));
            return u.join("")
        }
    })
}
, function(t, n, e) {
    "use strict";
    e(45)("trim", function(t) {
        return function() {
            return t(this, 3)
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(55)(!0);
    e(77)(String, "String", function(t) {
        this._t = String(t),
        this._i = 0
    }, function() {
        var t, n = this._t, e = this._i;
        return e >= n.length ? {
            value: void 0,
            done: !0
        } : (t = r(n, e),
        this._i += t.length,
        {
            value: t,
            done: !1
        })
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(55)(!1);
    r(r.P, "String", {
        codePointAt: function(t) {
            return i(this, t)
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(6)
      , o = e(79)
      , u = "".endsWith;
    r(r.P + r.F * e(80)("endsWith"), "String", {
        endsWith: function(t) {
            var n = o(this, t, "endsWith")
              , e = arguments.length > 1 ? arguments[1] : void 0
              , r = i(n.length)
              , a = void 0 === e ? r : Math.min(i(e), r)
              , c = String(t);
            return u ? u.call(n, c, a) : n.slice(a - c.length, a) === c
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(79);
    r(r.P + r.F * e(80)("includes"), "String", {
        includes: function(t) {
            return !!~i(this, t, "includes").indexOf(t, arguments.length > 1 ? arguments[1] : void 0)
        }
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.P, "String", {
        repeat: e(74)
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(6)
      , o = e(79)
      , u = "".startsWith;
    r(r.P + r.F * e(80)("startsWith"), "String", {
        startsWith: function(t) {
            var n = o(this, t, "startsWith")
              , e = i(Math.min(arguments.length > 1 ? arguments[1] : void 0, n.length))
              , r = String(t);
            return u ? u.call(n, r, e) : n.slice(e, e + r.length) === r
        }
    })
}
, function(t, n, e) {
    "use strict";
    e(13)("anchor", function(t) {
        return function(n) {
            return t(this, "a", "name", n)
        }
    })
}
, function(t, n, e) {
    "use strict";
    e(13)("big", function(t) {
        return function() {
            return t(this, "big", "", "")
        }
    })
}
, function(t, n, e) {
    "use strict";
    e(13)("blink", function(t) {
        return function() {
            return t(this, "blink", "", "")
        }
    })
}
, function(t, n, e) {
    "use strict";
    e(13)("bold", function(t) {
        return function() {
            return t(this, "b", "", "")
        }
    })
}
, function(t, n, e) {
    "use strict";
    e(13)("fixed", function(t) {
        return function() {
            return t(this, "tt", "", "")
        }
    })
}
, function(t, n, e) {
    "use strict";
    e(13)("fontcolor", function(t) {
        return function(n) {
            return t(this, "font", "color", n)
        }
    })
}
, function(t, n, e) {
    "use strict";
    e(13)("fontsize", function(t) {
        return function(n) {
            return t(this, "font", "size", n)
        }
    })
}
, function(t, n, e) {
    "use strict";
    e(13)("italics", function(t) {
        return function() {
            return t(this, "i", "", "")
        }
    })
}
, function(t, n, e) {
    "use strict";
    e(13)("link", function(t) {
        return function(n) {
            return t(this, "a", "href", n)
        }
    })
}
, function(t, n, e) {
    "use strict";
    e(13)("small", function(t) {
        return function() {
            return t(this, "small", "", "")
        }
    })
}
, function(t, n, e) {
    "use strict";
    e(13)("strike", function(t) {
        return function() {
            return t(this, "strike", "", "")
        }
    })
}
, function(t, n, e) {
    "use strict";
    e(13)("sub", function(t) {
        return function() {
            return t(this, "sub", "", "")
        }
    })
}
, function(t, n, e) {
    "use strict";
    e(13)("sup", function(t) {
        return function() {
            return t(this, "sup", "", "")
        }
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Date", {
        now: function() {
            return (new Date).getTime()
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(9)
      , o = e(23);
    r(r.P + r.F * e(3)(function() {
        return null !== new Date(NaN).toJSON() || 1 !== Date.prototype.toJSON.call({
            toISOString: function() {
                return 1
            }
        })
    }), "Date", {
        toJSON: function(t) {
            var n = i(this)
              , e = o(n);
            return "number" != typeof e || isFinite(e) ? n.toISOString() : null
        }
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(213);
    r(r.P + r.F * (Date.prototype.toISOString !== i), "Date", {
        toISOString: i
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(3)
      , i = Date.prototype.getTime
      , o = Date.prototype.toISOString
      , u = function(t) {
        return t > 9 ? t : "0" + t
    };
    t.exports = r(function() {
        return "0385-07-25T07:06:39.999Z" != o.call(new Date(-5e13 - 1))
    }) || !r(function() {
        o.call(new Date(NaN))
    }) ? function() {
        if (!isFinite(i.call(this)))
            throw RangeError("Invalid time value");
        var t = this
          , n = t.getUTCFullYear()
          , e = t.getUTCMilliseconds()
          , r = n < 0 ? "-" : n > 9999 ? "+" : "";
        return r + ("00000" + Math.abs(n)).slice(r ? -6 : -4) + "-" + u(t.getUTCMonth() + 1) + "-" + u(t.getUTCDate()) + "T" + u(t.getUTCHours()) + ":" + u(t.getUTCMinutes()) + ":" + u(t.getUTCSeconds()) + "." + (e > 99 ? e : "0" + u(e)) + "Z"
    }
    : o
}
, function(t, n, e) {
    var r = Date.prototype
      , i = r.toString
      , o = r.getTime;
    new Date(NaN) + "" != "Invalid Date" && e(12)(r, "toString", function() {
        var t = o.call(this);
        return t == t ? i.call(this) : "Invalid Date"
    })
}
, function(t, n, e) {
    var r = e(5)("toPrimitive")
      , i = Date.prototype;
    r in i || e(11)(i, r, e(216))
}
, function(t, n, e) {
    "use strict";
    var r = e(1)
      , i = e(23);
    t.exports = function(t) {
        if ("string" !== t && "number" !== t && "default" !== t)
            throw TypeError("Incorrect hint");
        return i(r(this), "number" != t)
    }
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Array", {
        isArray: e(54)
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(19)
      , i = e(0)
      , o = e(9)
      , u = e(110)
      , a = e(81)
      , c = e(6)
      , s = e(82)
      , f = e(83);
    i(i.S + i.F * !e(57)(function(t) {
        Array.from(t)
    }), "Array", {
        from: function(t) {
            var n, e, i, l, h = o(t), v = "function" == typeof this ? this : Array, p = arguments.length, d = p > 1 ? arguments[1] : void 0, g = void 0 !== d, y = 0, b = f(h);
            if (g && (d = r(d, p > 2 ? arguments[2] : void 0, 2)),
            null == b || v == Array && a(b))
                for (e = new v(n = c(h.length)); n > y; y++)
                    s(e, y, g ? d(h[y], y) : h[y]);
            else
                for (l = b.call(h),
                e = new v; !(i = l.next()).done; y++)
                    s(e, y, g ? u(l, d, [i.value, y], !0) : i.value);
            return e.length = y,
            e
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(82);
    r(r.S + r.F * e(3)(function() {
        function t() {}
        return !(Array.of.call(t)instanceof t)
    }), "Array", {
        of: function() {
            for (var t = 0, n = arguments.length, e = new ("function" == typeof this ? this : Array)(n); n > t; )
                i(e, t, arguments[t++]);
            return e.length = n,
            e
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(15)
      , o = [].join;
    r(r.P + r.F * (e(48) != Object || !e(22)(o)), "Array", {
        join: function(t) {
            return o.call(i(this), void 0 === t ? "," : t)
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(70)
      , o = e(20)
      , u = e(35)
      , a = e(6)
      , c = [].slice;
    r(r.P + r.F * e(3)(function() {
        i && c.call(i)
    }), "Array", {
        slice: function(t, n) {
            var e = a(this.length)
              , r = o(this);
            if (n = void 0 === n ? e : n,
            "Array" == r)
                return c.call(this, t, n);
            for (var i = u(t, e), s = u(n, e), f = a(s - i), l = new Array(f), h = 0; h < f; h++)
                l[h] = "String" == r ? this.charAt(i + h) : this[i + h];
            return l
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(10)
      , o = e(9)
      , u = e(3)
      , a = [].sort
      , c = [1, 2, 3];
    r(r.P + r.F * (u(function() {
        c.sort(void 0)
    }) || !u(function() {
        c.sort(null)
    }) || !e(22)(a)), "Array", {
        sort: function(t) {
            return void 0 === t ? a.call(o(this)) : a.call(o(this), i(t))
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(26)(0)
      , o = e(22)([].forEach, !0);
    r(r.P + r.F * !o, "Array", {
        forEach: function(t) {
            return i(this, t, arguments[1])
        }
    })
}
, function(t, n, e) {
    var r = e(4)
      , i = e(54)
      , o = e(5)("species");
    t.exports = function(t) {
        var n;
        return i(t) && ("function" != typeof (n = t.constructor) || n !== Array && !i(n.prototype) || (n = void 0),
        r(n) && null === (n = n[o]) && (n = void 0)),
        void 0 === n ? Array : n
    }
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(26)(1);
    r(r.P + r.F * !e(22)([].map, !0), "Array", {
        map: function(t) {
            return i(this, t, arguments[1])
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(26)(2);
    r(r.P + r.F * !e(22)([].filter, !0), "Array", {
        filter: function(t) {
            return i(this, t, arguments[1])
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(26)(3);
    r(r.P + r.F * !e(22)([].some, !0), "Array", {
        some: function(t) {
            return i(this, t, arguments[1])
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(26)(4);
    r(r.P + r.F * !e(22)([].every, !0), "Array", {
        every: function(t) {
            return i(this, t, arguments[1])
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(111);
    r(r.P + r.F * !e(22)([].reduce, !0), "Array", {
        reduce: function(t) {
            return i(this, t, arguments.length, arguments[1], !1)
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(111);
    r(r.P + r.F * !e(22)([].reduceRight, !0), "Array", {
        reduceRight: function(t) {
            return i(this, t, arguments.length, arguments[1], !0)
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(52)(!1)
      , o = [].indexOf
      , u = !!o && 1 / [1].indexOf(1, -0) < 0;
    r(r.P + r.F * (u || !e(22)(o)), "Array", {
        indexOf: function(t) {
            return u ? o.apply(this, arguments) || 0 : i(this, t, arguments[1])
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(15)
      , o = e(21)
      , u = e(6)
      , a = [].lastIndexOf
      , c = !!a && 1 / [1].lastIndexOf(1, -0) < 0;
    r(r.P + r.F * (c || !e(22)(a)), "Array", {
        lastIndexOf: function(t) {
            if (c)
                return a.apply(this, arguments) || 0;
            var n = i(this)
              , e = u(n.length)
              , r = e - 1;
            for (arguments.length > 1 && (r = Math.min(r, o(arguments[1]))),
            r < 0 && (r = e + r); r >= 0; r--)
                if (r in n && n[r] === t)
                    return r || 0;
            return -1
        }
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.P, "Array", {
        copyWithin: e(112)
    }),
    e(31)("copyWithin")
}
, function(t, n, e) {
    var r = e(0);
    r(r.P, "Array", {
        fill: e(85)
    }),
    e(31)("fill")
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(26)(5)
      , o = !0;
    "find"in [] && Array(1).find(function() {
        o = !1
    }),
    r(r.P + r.F * o, "Array", {
        find: function(t) {
            return i(this, t, arguments.length > 1 ? arguments[1] : void 0)
        }
    }),
    e(31)("find")
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(26)(6)
      , o = "findIndex"
      , u = !0;
    o in [] && Array(1)[o](function() {
        u = !1
    }),
    r(r.P + r.F * u, "Array", {
        findIndex: function(t) {
            return i(this, t, arguments.length > 1 ? arguments[1] : void 0)
        }
    }),
    e(31)(o)
}
, function(t, n, e) {
    e(38)("Array")
}
, function(t, n, e) {
    var r = e(2)
      , i = e(73)
      , o = e(8).f
      , u = e(37).f
      , a = e(56)
      , c = e(50)
      , s = r.RegExp
      , f = s
      , l = s.prototype
      , h = /a/g
      , v = /a/g
      , p = new s(h) !== h;
    if (e(7) && (!p || e(3)(function() {
        return v[e(5)("match")] = !1,
        s(h) != h || s(v) == v || "/a/i" != s(h, "i")
    }))) {
        s = function(t, n) {
            var e = this instanceof s
              , r = a(t)
              , o = void 0 === n;
            return !e && r && t.constructor === s && o ? t : i(p ? new f(r && !o ? t.source : t,n) : f((r = t instanceof s) ? t.source : t, r && o ? c.call(t) : n), e ? this : l, s)
        }
        ;
        for (var d = function(t) {
            t in s || o(s, t, {
                configurable: !0,
                get: function() {
                    return f[t]
                },
                set: function(n) {
                    f[t] = n
                }
            })
        }, g = u(f), y = 0; g.length > y; )
            d(g[y++]);
        l.constructor = s,
        s.prototype = l,
        e(12)(r, "RegExp", s)
    }
    e(38)("RegExp")
}
, function(t, n, e) {
    "use strict";
    e(115);
    var r = e(1)
      , i = e(50)
      , o = e(7)
      , u = /./.toString
      , a = function(t) {
        e(12)(RegExp.prototype, "toString", t, !0)
    };
    e(3)(function() {
        return "/a/b" != u.call({
            source: "a",
            flags: "b"
        })
    }) ? a(function() {
        var t = r(this);
        return "/".concat(t.source, "/", "flags"in t ? t.flags : !o && t instanceof RegExp ? i.call(t) : void 0)
    }) : "toString" != u.name && a(function() {
        return u.call(this)
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(1)
      , i = e(6)
      , o = e(88)
      , u = e(58);
    e(59)("match", 1, function(t, n, e, a) {
        return [function(e) {
            var r = t(this)
              , i = null == e ? void 0 : e[n];
            return void 0 !== i ? i.call(e, r) : new RegExp(e)[n](String(r))
        }
        , function(t) {
            var n = a(e, t, this);
            if (n.done)
                return n.value;
            var c = r(t)
              , s = String(this);
            if (!c.global)
                return u(c, s);
            var f = c.unicode;
            c.lastIndex = 0;
            for (var l, h = [], v = 0; null !== (l = u(c, s)); ) {
                var p = String(l[0]);
                h[v] = p,
                "" === p && (c.lastIndex = o(s, i(c.lastIndex), f)),
                v++
            }
            return 0 === v ? null : h
        }
        ]
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(1)
      , i = e(9)
      , o = e(6)
      , u = e(21)
      , a = e(88)
      , c = e(58)
      , s = Math.max
      , f = Math.min
      , l = Math.floor
      , h = /\$([$&`']|\d\d?|<[^>]*>)/g
      , v = /\$([$&`']|\d\d?)/g;
    e(59)("replace", 2, function(t, n, e, p) {
        return [function(r, i) {
            var o = t(this)
              , u = null == r ? void 0 : r[n];
            return void 0 !== u ? u.call(r, o, i) : e.call(String(o), r, i)
        }
        , function(t, n) {
            var i = p(e, t, this, n);
            if (i.done)
                return i.value;
            var l = r(t)
              , h = String(this)
              , v = "function" == typeof n;
            v || (n = String(n));
            var g = l.global;
            if (g) {
                var y = l.unicode;
                l.lastIndex = 0
            }
            for (var b = []; ; ) {
                var m = c(l, h);
                if (null === m)
                    break;
                if (b.push(m),
                !g)
                    break;
                "" === String(m[0]) && (l.lastIndex = a(h, o(l.lastIndex), y))
            }
            for (var x, w = "", S = 0, _ = 0; _ < b.length; _++) {
                m = b[_];
                for (var E = String(m[0]), M = s(f(u(m.index), h.length), 0), k = [], O = 1; O < m.length; O++)
                    k.push(void 0 === (x = m[O]) ? x : String(x));
                var P = m.groups;
                if (v) {
                    var A = [E].concat(k, M, h);
                    void 0 !== P && A.push(P);
                    var I = String(n.apply(void 0, A))
                } else
                    I = d(E, h, M, k, P, n);
                M >= S && (w += h.slice(S, M) + I,
                S = M + E.length)
            }
            return w + h.slice(S)
        }
        ];
        function d(t, n, r, o, u, a) {
            var c = r + t.length
              , s = o.length
              , f = v;
            return void 0 !== u && (u = i(u),
            f = h),
            e.call(a, f, function(e, i) {
                var a;
                switch (i.charAt(0)) {
                case "$":
                    return "$";
                case "&":
                    return t;
                case "`":
                    return n.slice(0, r);
                case "'":
                    return n.slice(c);
                case "<":
                    a = u[i.slice(1, -1)];
                    break;
                default:
                    var f = +i;
                    if (0 === f)
                        return e;
                    if (f > s) {
                        var h = l(f / 10);
                        return 0 === h ? e : h <= s ? void 0 === o[h - 1] ? i.charAt(1) : o[h - 1] + i.charAt(1) : e
                    }
                    a = o[f - 1]
                }
                return void 0 === a ? "" : a
            })
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(1)
      , i = e(101)
      , o = e(58);
    e(59)("search", 1, function(t, n, e, u) {
        return [function(e) {
            var r = t(this)
              , i = null == e ? void 0 : e[n];
            return void 0 !== i ? i.call(e, r) : new RegExp(e)[n](String(r))
        }
        , function(t) {
            var n = u(e, t, this);
            if (n.done)
                return n.value;
            var a = r(t)
              , c = String(this)
              , s = a.lastIndex;
            i(s, 0) || (a.lastIndex = 0);
            var f = o(a, c);
            return i(a.lastIndex, s) || (a.lastIndex = s),
            null === f ? -1 : f.index
        }
        ]
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(56)
      , i = e(1)
      , o = e(51)
      , u = e(88)
      , a = e(6)
      , c = e(58)
      , s = e(87)
      , f = e(3)
      , l = Math.min
      , h = [].push
      , v = !f(function() {
        RegExp(4294967295, "y")
    });
    e(59)("split", 2, function(t, n, e, f) {
        var p;
        return p = "c" == "abbc".split(/(b)*/)[1] || 4 != "test".split(/(?:)/, -1).length || 2 != "ab".split(/(?:ab)*/).length || 4 != ".".split(/(.?)(.?)/).length || ".".split(/()()/).length > 1 || "".split(/.?/).length ? function(t, n) {
            var i = String(this);
            if (void 0 === t && 0 === n)
                return [];
            if (!r(t))
                return e.call(i, t, n);
            for (var o, u, a, c = [], f = (t.ignoreCase ? "i" : "") + (t.multiline ? "m" : "") + (t.unicode ? "u" : "") + (t.sticky ? "y" : ""), l = 0, v = void 0 === n ? 4294967295 : n >>> 0, p = new RegExp(t.source,f + "g"); (o = s.call(p, i)) && !((u = p.lastIndex) > l && (c.push(i.slice(l, o.index)),
            o.length > 1 && o.index < i.length && h.apply(c, o.slice(1)),
            a = o[0].length,
            l = u,
            c.length >= v)); )
                p.lastIndex === o.index && p.lastIndex++;
            return l === i.length ? !a && p.test("") || c.push("") : c.push(i.slice(l)),
            c.length > v ? c.slice(0, v) : c
        }
        : "0".split(void 0, 0).length ? function(t, n) {
            return void 0 === t && 0 === n ? [] : e.call(this, t, n)
        }
        : e,
        [function(e, r) {
            var i = t(this)
              , o = null == e ? void 0 : e[n];
            return void 0 !== o ? o.call(e, i, r) : p.call(String(i), e, r)
        }
        , function(t, n) {
            var r = f(p, t, this, n, p !== e);
            if (r.done)
                return r.value;
            var s = i(t)
              , h = String(this)
              , d = o(s, RegExp)
              , g = s.unicode
              , y = (s.ignoreCase ? "i" : "") + (s.multiline ? "m" : "") + (s.unicode ? "u" : "") + (v ? "y" : "g")
              , b = new d(v ? s : "^(?:" + s.source + ")",y)
              , m = void 0 === n ? 4294967295 : n >>> 0;
            if (0 === m)
                return [];
            if (0 === h.length)
                return null === c(b, h) ? [h] : [];
            for (var x = 0, w = 0, S = []; w < h.length; ) {
                b.lastIndex = v ? w : 0;
                var _, E = c(b, v ? h : h.slice(w));
                if (null === E || (_ = l(a(b.lastIndex + (v ? 0 : w)), h.length)) === x)
                    w = u(h, w, g);
                else {
                    if (S.push(h.slice(x, w)),
                    S.length === m)
                        return S;
                    for (var M = 1; M <= E.length - 1; M++)
                        if (S.push(E[M]),
                        S.length === m)
                            return S;
                    w = x = _
                }
            }
            return S.push(h.slice(x)),
            S
        }
        ]
    })
}
, function(t, n, e) {
    "use strict";
    var r, i, o, u, a = e(29), c = e(2), s = e(19), f = e(44), l = e(0), h = e(4), v = e(10), p = e(39), d = e(40), g = e(51), y = e(89).set, b = e(90)(), m = e(91), x = e(116), w = e(60), S = e(117), _ = c.TypeError, E = c.process, M = E && E.versions, k = M && M.v8 || "", O = c.Promise, P = "process" == f(E), A = function() {}, I = i = m.f, j = !!function() {
        try {
            var t = O.resolve(1)
              , n = (t.constructor = {})[e(5)("species")] = function(t) {
                t(A, A)
            }
            ;
            return (P || "function" == typeof PromiseRejectionEvent) && t.then(A)instanceof n && 0 !== k.indexOf("6.6") && -1 === w.indexOf("Chrome/66")
        } catch (t) {}
    }(), F = function(t) {
        var n;
        return !(!h(t) || "function" != typeof (n = t.then)) && n
    }, N = function(t, n) {
        if (!t._n) {
            t._n = !0;
            var e = t._c;
            b(function() {
                for (var r = t._v, i = 1 == t._s, o = 0, u = function(n) {
                    var e, o, u, a = i ? n.ok : n.fail, c = n.resolve, s = n.reject, f = n.domain;
                    try {
                        a ? (i || (2 == t._h && W(t),
                        t._h = 1),
                        !0 === a ? e = r : (f && f.enter(),
                        e = a(r),
                        f && (f.exit(),
                        u = !0)),
                        e === n.promise ? s(_("Promise-chain cycle")) : (o = F(e)) ? o.call(e, c, s) : c(e)) : s(r)
                    } catch (t) {
                        f && !u && f.exit(),
                        s(t)
                    }
                }; e.length > o; )
                    u(e[o++]);
                t._c = [],
                t._n = !1,
                n && !t._h && T(t)
            })
        }
    }, T = function(t) {
        y.call(c, function() {
            var n, e, r, i = t._v, o = R(t);
            if (o && (n = x(function() {
                P ? E.emit("unhandledRejection", i, t) : (e = c.onunhandledrejection) ? e({
                    promise: t,
                    reason: i
                }) : (r = c.console) && r.error && r.error("Unhandled promise rejection", i)
            }),
            t._h = P || R(t) ? 2 : 1),
            t._a = void 0,
            o && n.e)
                throw n.v
        })
    }, R = function(t) {
        return 1 !== t._h && 0 === (t._a || t._c).length
    }, W = function(t) {
        y.call(c, function() {
            var n;
            P ? E.emit("rejectionHandled", t) : (n = c.onrejectionhandled) && n({
                promise: t,
                reason: t._v
            })
        })
    }, L = function(t) {
        var n = this;
        n._d || (n._d = !0,
        (n = n._w || n)._v = t,
        n._s = 2,
        n._a || (n._a = n._c.slice()),
        N(n, !0))
    }, C = function(t) {
        var n, e = this;
        if (!e._d) {
            e._d = !0,
            e = e._w || e;
            try {
                if (e === t)
                    throw _("Promise can't be resolved itself");
                (n = F(t)) ? b(function() {
                    var r = {
                        _w: e,
                        _d: !1
                    };
                    try {
                        n.call(t, s(C, r, 1), s(L, r, 1))
                    } catch (t) {
                        L.call(r, t)
                    }
                }) : (e._v = t,
                e._s = 1,
                N(e, !1))
            } catch (t) {
                L.call({
                    _w: e,
                    _d: !1
                }, t)
            }
        }
    };
    j || (O = function(t) {
        p(this, O, "Promise", "_h"),
        v(t),
        r.call(this);
        try {
            t(s(C, this, 1), s(L, this, 1))
        } catch (t) {
            L.call(this, t)
        }
    }
    ,
    (r = function(t) {
        this._c = [],
        this._a = void 0,
        this._s = 0,
        this._d = !1,
        this._v = void 0,
        this._h = 0,
        this._n = !1
    }
    ).prototype = e(41)(O.prototype, {
        then: function(t, n) {
            var e = I(g(this, O));
            return e.ok = "function" != typeof t || t,
            e.fail = "function" == typeof n && n,
            e.domain = P ? E.domain : void 0,
            this._c.push(e),
            this._a && this._a.push(e),
            this._s && N(this, !1),
            e.promise
        },
        catch: function(t) {
            return this.then(void 0, t)
        }
    }),
    o = function() {
        var t = new r;
        this.promise = t,
        this.resolve = s(C, t, 1),
        this.reject = s(L, t, 1)
    }
    ,
    m.f = I = function(t) {
        return t === O || t === u ? new o(t) : i(t)
    }
    ),
    l(l.G + l.W + l.F * !j, {
        Promise: O
    }),
    e(43)(O, "Promise"),
    e(38)("Promise"),
    u = e(18).Promise,
    l(l.S + l.F * !j, "Promise", {
        reject: function(t) {
            var n = I(this);
            return (0,
            n.reject)(t),
            n.promise
        }
    }),
    l(l.S + l.F * (a || !j), "Promise", {
        resolve: function(t) {
            return S(a && this === u ? O : this, t)
        }
    }),
    l(l.S + l.F * !(j && e(57)(function(t) {
        O.all(t).catch(A)
    })), "Promise", {
        all: function(t) {
            var n = this
              , e = I(n)
              , r = e.resolve
              , i = e.reject
              , o = x(function() {
                var e = []
                  , o = 0
                  , u = 1;
                d(t, !1, function(t) {
                    var a = o++
                      , c = !1;
                    e.push(void 0),
                    u++,
                    n.resolve(t).then(function(t) {
                        c || (c = !0,
                        e[a] = t,
                        --u || r(e))
                    }, i)
                }),
                --u || r(e)
            });
            return o.e && i(o.v),
            e.promise
        },
        race: function(t) {
            var n = this
              , e = I(n)
              , r = e.reject
              , i = x(function() {
                d(t, !1, function(t) {
                    n.resolve(t).then(e.resolve, r)
                })
            });
            return i.e && r(i.v),
            e.promise
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(122)
      , i = e(42);
    e(61)("WeakSet", function(t) {
        return function() {
            return t(this, arguments.length > 0 ? arguments[0] : void 0)
        }
    }, {
        add: function(t) {
            return r.def(i(this, "WeakSet"), t, !0)
        }
    }, r, !1, !0)
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(62)
      , o = e(92)
      , u = e(1)
      , a = e(35)
      , c = e(6)
      , s = e(4)
      , f = e(2).ArrayBuffer
      , l = e(51)
      , h = o.ArrayBuffer
      , v = o.DataView
      , p = i.ABV && f.isView
      , d = h.prototype.slice
      , g = i.VIEW;
    r(r.G + r.W + r.F * (f !== h), {
        ArrayBuffer: h
    }),
    r(r.S + r.F * !i.CONSTR, "ArrayBuffer", {
        isView: function(t) {
            return p && p(t) || s(t) && g in t
        }
    }),
    r(r.P + r.U + r.F * e(3)(function() {
        return !new h(2).slice(1, void 0).byteLength
    }), "ArrayBuffer", {
        slice: function(t, n) {
            if (void 0 !== d && void 0 === n)
                return d.call(u(this), t);
            for (var e = u(this).byteLength, r = a(t, e), i = a(void 0 === n ? e : n, e), o = new (l(this, h))(c(i - r)), s = new v(this), f = new v(o), p = 0; r < i; )
                f.setUint8(p++, s.getUint8(r++));
            return o
        }
    }),
    e(38)("ArrayBuffer")
}
, function(t, n, e) {
    var r = e(0);
    r(r.G + r.W + r.F * !e(62).ABV, {
        DataView: e(92).DataView
    })
}
, function(t, n, e) {
    e(27)("Int8", 1, function(t) {
        return function(n, e, r) {
            return t(this, n, e, r)
        }
    })
}
, function(t, n, e) {
    e(27)("Uint8", 1, function(t) {
        return function(n, e, r) {
            return t(this, n, e, r)
        }
    })
}
, function(t, n, e) {
    e(27)("Uint8", 1, function(t) {
        return function(n, e, r) {
            return t(this, n, e, r)
        }
    }, !0)
}
, function(t, n, e) {
    e(27)("Int16", 2, function(t) {
        return function(n, e, r) {
            return t(this, n, e, r)
        }
    })
}
, function(t, n, e) {
    e(27)("Uint16", 2, function(t) {
        return function(n, e, r) {
            return t(this, n, e, r)
        }
    })
}
, function(t, n, e) {
    e(27)("Int32", 4, function(t) {
        return function(n, e, r) {
            return t(this, n, e, r)
        }
    })
}
, function(t, n, e) {
    e(27)("Uint32", 4, function(t) {
        return function(n, e, r) {
            return t(this, n, e, r)
        }
    })
}
, function(t, n, e) {
    e(27)("Float32", 4, function(t) {
        return function(n, e, r) {
            return t(this, n, e, r)
        }
    })
}
, function(t, n, e) {
    e(27)("Float64", 8, function(t) {
        return function(n, e, r) {
            return t(this, n, e, r)
        }
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(10)
      , o = e(1)
      , u = (e(2).Reflect || {}).apply
      , a = Function.apply;
    r(r.S + r.F * !e(3)(function() {
        u(function() {})
    }), "Reflect", {
        apply: function(t, n, e) {
            var r = i(t)
              , c = o(e);
            return u ? u(r, n, c) : a.call(r, n, c)
        }
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(36)
      , o = e(10)
      , u = e(1)
      , a = e(4)
      , c = e(3)
      , s = e(102)
      , f = (e(2).Reflect || {}).construct
      , l = c(function() {
        function t() {}
        return !(f(function() {}, [], t)instanceof t)
    })
      , h = !c(function() {
        f(function() {})
    });
    r(r.S + r.F * (l || h), "Reflect", {
        construct: function(t, n) {
            o(t),
            u(n);
            var e = arguments.length < 3 ? t : o(arguments[2]);
            if (h && !l)
                return f(t, n, e);
            if (t == e) {
                switch (n.length) {
                case 0:
                    return new t;
                case 1:
                    return new t(n[0]);
                case 2:
                    return new t(n[0],n[1]);
                case 3:
                    return new t(n[0],n[1],n[2]);
                case 4:
                    return new t(n[0],n[1],n[2],n[3])
                }
                var r = [null];
                return r.push.apply(r, n),
                new (s.apply(t, r))
            }
            var c = e.prototype
              , v = i(a(c) ? c : Object.prototype)
              , p = Function.apply.call(t, v, n);
            return a(p) ? p : v
        }
    })
}
, function(t, n, e) {
    var r = e(8)
      , i = e(0)
      , o = e(1)
      , u = e(23);
    i(i.S + i.F * e(3)(function() {
        Reflect.defineProperty(r.f({}, 1, {
            value: 1
        }), 1, {
            value: 2
        })
    }), "Reflect", {
        defineProperty: function(t, n, e) {
            o(t),
            n = u(n, !0),
            o(e);
            try {
                return r.f(t, n, e),
                !0
            } catch (t) {
                return !1
            }
        }
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(16).f
      , o = e(1);
    r(r.S, "Reflect", {
        deleteProperty: function(t, n) {
            var e = i(o(t), n);
            return !(e && !e.configurable) && delete t[n]
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(1)
      , o = function(t) {
        this._t = i(t),
        this._i = 0;
        var n, e = this._k = [];
        for (n in t)
            e.push(n)
    };
    e(78)(o, "Object", function() {
        var t, n = this._k;
        do {
            if (this._i >= n.length)
                return {
                    value: void 0,
                    done: !0
                }
        } while (!((t = n[this._i++])in this._t));
        return {
            value: t,
            done: !1
        }
    }),
    r(r.S, "Reflect", {
        enumerate: function(t) {
            return new o(t)
        }
    })
}
, function(t, n, e) {
    var r = e(16)
      , i = e(17)
      , o = e(14)
      , u = e(0)
      , a = e(4)
      , c = e(1);
    u(u.S, "Reflect", {
        get: function t(n, e) {
            var u, s, f = arguments.length < 3 ? n : arguments[2];
            return c(n) === f ? n[e] : (u = r.f(n, e)) ? o(u, "value") ? u.value : void 0 !== u.get ? u.get.call(f) : void 0 : a(s = i(n)) ? t(s, e, f) : void 0
        }
    })
}
, function(t, n, e) {
    var r = e(16)
      , i = e(0)
      , o = e(1);
    i(i.S, "Reflect", {
        getOwnPropertyDescriptor: function(t, n) {
            return r.f(o(t), n)
        }
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(17)
      , o = e(1);
    r(r.S, "Reflect", {
        getPrototypeOf: function(t) {
            return i(o(t))
        }
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Reflect", {
        has: function(t, n) {
            return n in t
        }
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(1)
      , o = Object.isExtensible;
    r(r.S, "Reflect", {
        isExtensible: function(t) {
            return i(t),
            !o || o(t)
        }
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Reflect", {
        ownKeys: e(124)
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(1)
      , o = Object.preventExtensions;
    r(r.S, "Reflect", {
        preventExtensions: function(t) {
            i(t);
            try {
                return o && o(t),
                !0
            } catch (t) {
                return !1
            }
        }
    })
}
, function(t, n, e) {
    var r = e(8)
      , i = e(16)
      , o = e(17)
      , u = e(14)
      , a = e(0)
      , c = e(32)
      , s = e(1)
      , f = e(4);
    a(a.S, "Reflect", {
        set: function t(n, e, a) {
            var l, h, v = arguments.length < 4 ? n : arguments[3], p = i.f(s(n), e);
            if (!p) {
                if (f(h = o(n)))
                    return t(h, e, a, v);
                p = c(0)
            }
            if (u(p, "value")) {
                if (!1 === p.writable || !f(v))
                    return !1;
                if (l = i.f(v, e)) {
                    if (l.get || l.set || !1 === l.writable)
                        return !1;
                    l.value = a,
                    r.f(v, e, l)
                } else
                    r.f(v, e, c(0, a));
                return !0
            }
            return void 0 !== p.set && (p.set.call(v, a),
            !0)
        }
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(71);
    i && r(r.S, "Reflect", {
        setPrototypeOf: function(t, n) {
            i.check(t, n);
            try {
                return i.set(t, n),
                !0
            } catch (t) {
                return !1
            }
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(52)(!0);
    r(r.P, "Array", {
        includes: function(t) {
            return i(this, t, arguments.length > 1 ? arguments[1] : void 0)
        }
    }),
    e(31)("includes")
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(125)
      , o = e(9)
      , u = e(6)
      , a = e(10)
      , c = e(84);
    r(r.P, "Array", {
        flatMap: function(t) {
            var n, e, r = o(this);
            return a(t),
            n = u(r.length),
            e = c(r, 0),
            i(e, r, r, n, 0, 1, t, arguments[1]),
            e
        }
    }),
    e(31)("flatMap")
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(125)
      , o = e(9)
      , u = e(6)
      , a = e(21)
      , c = e(84);
    r(r.P, "Array", {
        flatten: function() {
            var t = arguments[0]
              , n = o(this)
              , e = u(n.length)
              , r = c(n, 0);
            return i(r, n, n, e, 0, void 0 === t ? 1 : a(t)),
            r
        }
    }),
    e(31)("flatten")
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(55)(!0);
    r(r.P, "String", {
        at: function(t) {
            return i(this, t)
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(126)
      , o = e(60)
      , u = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o);
    r(r.P + r.F * u, "String", {
        padStart: function(t) {
            return i(this, t, arguments.length > 1 ? arguments[1] : void 0, !0)
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(126)
      , o = e(60)
      , u = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o);
    r(r.P + r.F * u, "String", {
        padEnd: function(t) {
            return i(this, t, arguments.length > 1 ? arguments[1] : void 0, !1)
        }
    })
}
, function(t, n, e) {
    "use strict";
    e(45)("trimLeft", function(t) {
        return function() {
            return t(this, 1)
        }
    }, "trimStart")
}
, function(t, n, e) {
    "use strict";
    e(45)("trimRight", function(t) {
        return function() {
            return t(this, 2)
        }
    }, "trimEnd")
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(24)
      , o = e(6)
      , u = e(56)
      , a = e(50)
      , c = RegExp.prototype
      , s = function(t, n) {
        this._r = t,
        this._s = n
    };
    e(78)(s, "RegExp String", function() {
        var t = this._r.exec(this._s);
        return {
            value: t,
            done: null === t
        }
    }),
    r(r.P, "String", {
        matchAll: function(t) {
            if (i(this),
            !u(t))
                throw TypeError(t + " is not a regexp!");
            var n = String(this)
              , e = "flags"in c ? String(t.flags) : a.call(t)
              , r = new RegExp(t.source,~e.indexOf("g") ? e : "g" + e);
            return r.lastIndex = o(t.lastIndex),
            new s(r,n)
        }
    })
}
, function(t, n, e) {
    e(67)("asyncIterator")
}
, function(t, n, e) {
    e(67)("observable")
}
, function(t, n, e) {
    var r = e(0)
      , i = e(124)
      , o = e(15)
      , u = e(16)
      , a = e(82);
    r(r.S, "Object", {
        getOwnPropertyDescriptors: function(t) {
            for (var n, e, r = o(t), c = u.f, s = i(r), f = {}, l = 0; s.length > l; )
                void 0 !== (e = c(r, n = s[l++])) && a(f, n, e);
            return f
        }
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(127)(!1);
    r(r.S, "Object", {
        values: function(t) {
            return i(t)
        }
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(127)(!0);
    r(r.S, "Object", {
        entries: function(t) {
            return i(t)
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(9)
      , o = e(10)
      , u = e(8);
    e(7) && r(r.P + e(63), "Object", {
        __defineGetter__: function(t, n) {
            u.f(i(this), t, {
                get: o(n),
                enumerable: !0,
                configurable: !0
            })
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(9)
      , o = e(10)
      , u = e(8);
    e(7) && r(r.P + e(63), "Object", {
        __defineSetter__: function(t, n) {
            u.f(i(this), t, {
                set: o(n),
                enumerable: !0,
                configurable: !0
            })
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(9)
      , o = e(23)
      , u = e(17)
      , a = e(16).f;
    e(7) && r(r.P + e(63), "Object", {
        __lookupGetter__: function(t) {
            var n, e = i(this), r = o(t, !0);
            do {
                if (n = a(e, r))
                    return n.get
            } while (e = u(e))
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(9)
      , o = e(23)
      , u = e(17)
      , a = e(16).f;
    e(7) && r(r.P + e(63), "Object", {
        __lookupSetter__: function(t) {
            var n, e = i(this), r = o(t, !0);
            do {
                if (n = a(e, r))
                    return n.set
            } while (e = u(e))
        }
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.P + r.R, "Map", {
        toJSON: e(128)("Map")
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.P + r.R, "Set", {
        toJSON: e(128)("Set")
    })
}
, function(t, n, e) {
    e(64)("Map")
}
, function(t, n, e) {
    e(64)("Set")
}
, function(t, n, e) {
    e(64)("WeakMap")
}
, function(t, n, e) {
    e(64)("WeakSet")
}
, function(t, n, e) {
    e(65)("Map")
}
, function(t, n, e) {
    e(65)("Set")
}
, function(t, n, e) {
    e(65)("WeakMap")
}
, function(t, n, e) {
    e(65)("WeakSet")
}
, function(t, n, e) {
    var r = e(0);
    r(r.G, {
        global: e(2)
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "System", {
        global: e(2)
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(20);
    r(r.S, "Error", {
        isError: function(t) {
            return "Error" === i(t)
        }
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Math", {
        clamp: function(t, n, e) {
            return Math.min(e, Math.max(n, t))
        }
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Math", {
        DEG_PER_RAD: Math.PI / 180
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = 180 / Math.PI;
    r(r.S, "Math", {
        degrees: function(t) {
            return t * i
        }
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(130)
      , o = e(109);
    r(r.S, "Math", {
        fscale: function(t, n, e, r, u) {
            return o(i(t, n, e, r, u))
        }
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Math", {
        iaddh: function(t, n, e, r) {
            var i = t >>> 0
              , o = e >>> 0;
            return (n >>> 0) + (r >>> 0) + ((i & o | (i | o) & ~(i + o >>> 0)) >>> 31) | 0
        }
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Math", {
        isubh: function(t, n, e, r) {
            var i = t >>> 0
              , o = e >>> 0;
            return (n >>> 0) - (r >>> 0) - ((~i & o | ~(i ^ o) & i - o >>> 0) >>> 31) | 0
        }
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Math", {
        imulh: function(t, n) {
            var e = +t
              , r = +n
              , i = 65535 & e
              , o = 65535 & r
              , u = e >> 16
              , a = r >> 16
              , c = (u * o >>> 0) + (i * o >>> 16);
            return u * a + (c >> 16) + ((i * a >>> 0) + (65535 & c) >> 16)
        }
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Math", {
        RAD_PER_DEG: 180 / Math.PI
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = Math.PI / 180;
    r(r.S, "Math", {
        radians: function(t) {
            return t * i
        }
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Math", {
        scale: e(130)
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Math", {
        umulh: function(t, n) {
            var e = +t
              , r = +n
              , i = 65535 & e
              , o = 65535 & r
              , u = e >>> 16
              , a = r >>> 16
              , c = (u * o >>> 0) + (i * o >>> 16);
            return u * a + (c >>> 16) + ((i * a >>> 0) + (65535 & c) >>> 16)
        }
    })
}
, function(t, n, e) {
    var r = e(0);
    r(r.S, "Math", {
        signbit: function(t) {
            return (t = +t) != t ? t : 0 == t ? 1 / t == 1 / 0 : t > 0
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(18)
      , o = e(2)
      , u = e(51)
      , a = e(117);
    r(r.P + r.R, "Promise", {
        finally: function(t) {
            var n = u(this, i.Promise || o.Promise)
              , e = "function" == typeof t;
            return this.then(e ? function(e) {
                return a(n, t()).then(function() {
                    return e
                })
            }
            : t, e ? function(e) {
                return a(n, t()).then(function() {
                    throw e
                })
            }
            : t)
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(91)
      , o = e(116);
    r(r.S, "Promise", {
        try: function(t) {
            var n = i.f(this)
              , e = o(t);
            return (e.e ? n.reject : n.resolve)(e.v),
            n.promise
        }
    })
}
, function(t, n, e) {
    var r = e(28)
      , i = e(1)
      , o = r.key
      , u = r.set;
    r.exp({
        defineMetadata: function(t, n, e, r) {
            u(t, n, i(e), o(r))
        }
    })
}
, function(t, n, e) {
    var r = e(28)
      , i = e(1)
      , o = r.key
      , u = r.map
      , a = r.store;
    r.exp({
        deleteMetadata: function(t, n) {
            var e = arguments.length < 3 ? void 0 : o(arguments[2])
              , r = u(i(n), e, !1);
            if (void 0 === r || !r.delete(t))
                return !1;
            if (r.size)
                return !0;
            var c = a.get(n);
            return c.delete(e),
            !!c.size || a.delete(n)
        }
    })
}
, function(t, n, e) {
    var r = e(28)
      , i = e(1)
      , o = e(17)
      , u = r.has
      , a = r.get
      , c = r.key
      , s = function(t, n, e) {
        if (u(t, n, e))
            return a(t, n, e);
        var r = o(n);
        return null !== r ? s(t, r, e) : void 0
    };
    r.exp({
        getMetadata: function(t, n) {
            return s(t, i(n), arguments.length < 3 ? void 0 : c(arguments[2]))
        }
    })
}
, function(t, n, e) {
    var r = e(120)
      , i = e(129)
      , o = e(28)
      , u = e(1)
      , a = e(17)
      , c = o.keys
      , s = o.key
      , f = function(t, n) {
        var e = c(t, n)
          , o = a(t);
        if (null === o)
            return e;
        var u = f(o, n);
        return u.length ? e.length ? i(new r(e.concat(u))) : u : e
    };
    o.exp({
        getMetadataKeys: function(t) {
            return f(u(t), arguments.length < 2 ? void 0 : s(arguments[1]))
        }
    })
}
, function(t, n, e) {
    var r = e(28)
      , i = e(1)
      , o = r.get
      , u = r.key;
    r.exp({
        getOwnMetadata: function(t, n) {
            return o(t, i(n), arguments.length < 3 ? void 0 : u(arguments[2]))
        }
    })
}
, function(t, n, e) {
    var r = e(28)
      , i = e(1)
      , o = r.keys
      , u = r.key;
    r.exp({
        getOwnMetadataKeys: function(t) {
            return o(i(t), arguments.length < 2 ? void 0 : u(arguments[1]))
        }
    })
}
, function(t, n, e) {
    var r = e(28)
      , i = e(1)
      , o = e(17)
      , u = r.has
      , a = r.key
      , c = function(t, n, e) {
        if (u(t, n, e))
            return !0;
        var r = o(n);
        return null !== r && c(t, r, e)
    };
    r.exp({
        hasMetadata: function(t, n) {
            return c(t, i(n), arguments.length < 3 ? void 0 : a(arguments[2]))
        }
    })
}
, function(t, n, e) {
    var r = e(28)
      , i = e(1)
      , o = r.has
      , u = r.key;
    r.exp({
        hasOwnMetadata: function(t, n) {
            return o(t, i(n), arguments.length < 3 ? void 0 : u(arguments[2]))
        }
    })
}
, function(t, n, e) {
    var r = e(28)
      , i = e(1)
      , o = e(10)
      , u = r.key
      , a = r.set;
    r.exp({
        metadata: function(t, n) {
            return function(e, r) {
                a(t, n, (void 0 !== r ? i : o)(e), u(r))
            }
        }
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(90)()
      , o = e(2).process
      , u = "process" == e(20)(o);
    r(r.G, {
        asap: function(t) {
            var n = u && o.domain;
            i(n ? n.bind(t) : t)
        }
    })
}
, function(t, n, e) {
    "use strict";
    var r = e(0)
      , i = e(2)
      , o = e(18)
      , u = e(90)()
      , a = e(5)("observable")
      , c = e(10)
      , s = e(1)
      , f = e(39)
      , l = e(41)
      , h = e(11)
      , v = e(40)
      , p = v.RETURN
      , d = function(t) {
        return null == t ? void 0 : c(t)
    }
      , g = function(t) {
        var n = t._c;
        n && (t._c = void 0,
        n())
    }
      , y = function(t) {
        return void 0 === t._o
    }
      , b = function(t) {
        y(t) || (t._o = void 0,
        g(t))
    }
      , m = function(t, n) {
        s(t),
        this._c = void 0,
        this._o = t,
        t = new x(this);
        try {
            var e = n(t)
              , r = e;
            null != e && ("function" == typeof e.unsubscribe ? e = function() {
                r.unsubscribe()
            }
            : c(e),
            this._c = e)
        } catch (n) {
            return void t.error(n)
        }
        y(this) && g(this)
    };
    m.prototype = l({}, {
        unsubscribe: function() {
            b(this)
        }
    });
    var x = function(t) {
        this._s = t
    };
    x.prototype = l({}, {
        next: function(t) {
            var n = this._s;
            if (!y(n)) {
                var e = n._o;
                try {
                    var r = d(e.next);
                    if (r)
                        return r.call(e, t)
                } catch (t) {
                    try {
                        b(n)
                    } finally {
                        throw t
                    }
                }
            }
        },
        error: function(t) {
            var n = this._s;
            if (y(n))
                throw t;
            var e = n._o;
            n._o = void 0;
            try {
                var r = d(e.error);
                if (!r)
                    throw t;
                t = r.call(e, t)
            } catch (t) {
                try {
                    g(n)
                } finally {
                    throw t
                }
            }
            return g(n),
            t
        },
        complete: function(t) {
            var n = this._s;
            if (!y(n)) {
                var e = n._o;
                n._o = void 0;
                try {
                    var r = d(e.complete);
                    t = r ? r.call(e, t) : void 0
                } catch (t) {
                    try {
                        g(n)
                    } finally {
                        throw t
                    }
                }
                return g(n),
                t
            }
        }
    });
    var w = function(t) {
        f(this, w, "Observable", "_f")._f = c(t)
    };
    l(w.prototype, {
        subscribe: function(t) {
            return new m(t,this._f)
        },
        forEach: function(t) {
            var n = this;
            return new (o.Promise || i.Promise)(function(e, r) {
                c(t);
                var i = n.subscribe({
                    next: function(n) {
                        try {
                            return t(n)
                        } catch (t) {
                            r(t),
                            i.unsubscribe()
                        }
                    },
                    error: r,
                    complete: e
                })
            }
            )
        }
    }),
    l(w, {
        from: function(t) {
            var n = "function" == typeof this ? this : w
              , e = d(s(t)[a]);
            if (e) {
                var r = s(e.call(t));
                return r.constructor === n ? r : new n(function(t) {
                    return r.subscribe(t)
                }
                )
            }
            return new n(function(n) {
                var e = !1;
                return u(function() {
                    if (!e) {
                        try {
                            if (v(t, !1, function(t) {
                                if (n.next(t),
                                e)
                                    return p
                            }) === p)
                                return
                        } catch (t) {
                            if (e)
                                throw t;
                            return void n.error(t)
                        }
                        n.complete()
                    }
                }),
                function() {
                    e = !0
                }
            }
            )
        },
        of: function() {
            for (var t = 0, n = arguments.length, e = new Array(n); t < n; )
                e[t] = arguments[t++];
            return new ("function" == typeof this ? this : w)(function(t) {
                var n = !1;
                return u(function() {
                    if (!n) {
                        for (var r = 0; r < e.length; ++r)
                            if (t.next(e[r]),
                            n)
                                return;
                        t.complete()
                    }
                }),
                function() {
                    n = !0
                }
            }
            )
        }
    }),
    h(w.prototype, a, function() {
        return this
    }),
    r(r.G, {
        Observable: w
    }),
    e(38)("Observable")
}
, function(t, n, e) {
    var r = e(2)
      , i = e(0)
      , o = e(60)
      , u = [].slice
      , a = /MSIE .\./.test(o)
      , c = function(t) {
        return function(n, e) {
            var r = arguments.length > 2
              , i = !!r && u.call(arguments, 2);
            return t(r ? function() {
                ("function" == typeof n ? n : Function(n)).apply(this, i)
            }
            : n, e)
        }
    };
    i(i.G + i.B + i.F * a, {
        setTimeout: c(r.setTimeout),
        setInterval: c(r.setInterval)
    })
}
, function(t, n, e) {
    var r = e(0)
      , i = e(89);
    r(r.G + r.B, {
        setImmediate: i.set,
        clearImmediate: i.clear
    })
}
, function(t, n, e) {
    for (var r = e(86), i = e(34), o = e(12), u = e(2), a = e(11), c = e(46), s = e(5), f = s("iterator"), l = s("toStringTag"), h = c.Array, v = {
        CSSRuleList: !0,
        CSSStyleDeclaration: !1,
        CSSValueList: !1,
        ClientRectList: !1,
        DOMRectList: !1,
        DOMStringList: !1,
        DOMTokenList: !0,
        DataTransferItemList: !1,
        FileList: !1,
        HTMLAllCollection: !1,
        HTMLCollection: !1,
        HTMLFormElement: !1,
        HTMLSelectElement: !1,
        MediaList: !0,
        MimeTypeArray: !1,
        NamedNodeMap: !1,
        NodeList: !0,
        PaintRequestList: !1,
        Plugin: !1,
        PluginArray: !1,
        SVGLengthList: !1,
        SVGNumberList: !1,
        SVGPathSegList: !1,
        SVGPointList: !1,
        SVGStringList: !1,
        SVGTransformList: !1,
        SourceBufferList: !1,
        StyleSheetList: !0,
        TextTrackCueList: !1,
        TextTrackList: !1,
        TouchList: !1
    }, p = i(v), d = 0; d < p.length; d++) {
        var g, y = p[d], b = v[y], m = u[y], x = m && m.prototype;
        if (x && (x[f] || a(x, f, h),
        x[l] || a(x, l, y),
        c[y] = h,
        b))
            for (g in r)
                x[g] || o(x, g, r[g], !0)
    }
}
, function(t, n, e) {
    (function(n) {
        !function(n) {
            "use strict";
            var e, r = Object.prototype, i = r.hasOwnProperty, o = "function" == typeof Symbol ? Symbol : {}, u = o.iterator || "@@iterator", a = o.asyncIterator || "@@asyncIterator", c = o.toStringTag || "@@toStringTag", s = "object" == typeof t, f = n.regeneratorRuntime;
            if (f)
                s && (t.exports = f);
            else {
                (f = n.regeneratorRuntime = s ? t.exports : {}).wrap = x;
                var l = "suspendedStart"
                  , h = "suspendedYield"
                  , v = "executing"
                  , p = "completed"
                  , d = {}
                  , g = {};
                g[u] = function() {
                    return this
                }
                ;
                var y = Object.getPrototypeOf
                  , b = y && y(y(j([])));
                b && b !== r && i.call(b, u) && (g = b);
                var m = E.prototype = S.prototype = Object.create(g);
                _.prototype = m.constructor = E,
                E.constructor = _,
                E[c] = _.displayName = "GeneratorFunction",
                f.isGeneratorFunction = function(t) {
                    var n = "function" == typeof t && t.constructor;
                    return !!n && (n === _ || "GeneratorFunction" === (n.displayName || n.name))
                }
                ,
                f.mark = function(t) {
                    return Object.setPrototypeOf ? Object.setPrototypeOf(t, E) : (t.__proto__ = E,
                    c in t || (t[c] = "GeneratorFunction")),
                    t.prototype = Object.create(m),
                    t
                }
                ,
                f.awrap = function(t) {
                    return {
                        __await: t
                    }
                }
                ,
                M(k.prototype),
                k.prototype[a] = function() {
                    return this
                }
                ,
                f.AsyncIterator = k,
                f.async = function(t, n, e, r) {
                    var i = new k(x(t, n, e, r));
                    return f.isGeneratorFunction(n) ? i : i.next().then(function(t) {
                        return t.done ? t.value : i.next()
                    })
                }
                ,
                M(m),
                m[c] = "Generator",
                m[u] = function() {
                    return this
                }
                ,
                m.toString = function() {
                    return "[object Generator]"
                }
                ,
                f.keys = function(t) {
                    var n = [];
                    for (var e in t)
                        n.push(e);
                    return n.reverse(),
                    function e() {
                        for (; n.length; ) {
                            var r = n.pop();
                            if (r in t)
                                return e.value = r,
                                e.done = !1,
                                e
                        }
                        return e.done = !0,
                        e
                    }
                }
                ,
                f.values = j,
                I.prototype = {
                    constructor: I,
                    reset: function(t) {
                        if (this.prev = 0,
                        this.next = 0,
                        this.sent = this._sent = e,
                        this.done = !1,
                        this.delegate = null,
                        this.method = "next",
                        this.arg = e,
                        this.tryEntries.forEach(A),
                        !t)
                            for (var n in this)
                                "t" === n.charAt(0) && i.call(this, n) && !isNaN(+n.slice(1)) && (this[n] = e)
                    },
                    stop: function() {
                        this.done = !0;
                        var t = this.tryEntries[0].completion;
                        if ("throw" === t.type)
                            throw t.arg;
                        return this.rval
                    },
                    dispatchException: function(t) {
                        if (this.done)
                            throw t;
                        var n = this;
                        function r(r, i) {
                            return a.type = "throw",
                            a.arg = t,
                            n.next = r,
                            i && (n.method = "next",
                            n.arg = e),
                            !!i
                        }
                        for (var o = this.tryEntries.length - 1; o >= 0; --o) {
                            var u = this.tryEntries[o]
                              , a = u.completion;
                            if ("root" === u.tryLoc)
                                return r("end");
                            if (u.tryLoc <= this.prev) {
                                var c = i.call(u, "catchLoc")
                                  , s = i.call(u, "finallyLoc");
                                if (c && s) {
                                    if (this.prev < u.catchLoc)
                                        return r(u.catchLoc, !0);
                                    if (this.prev < u.finallyLoc)
                                        return r(u.finallyLoc)
                                } else if (c) {
                                    if (this.prev < u.catchLoc)
                                        return r(u.catchLoc, !0)
                                } else {
                                    if (!s)
                                        throw new Error("try statement without catch or finally");
                                    if (this.prev < u.finallyLoc)
                                        return r(u.finallyLoc)
                                }
                            }
                        }
                    },
                    abrupt: function(t, n) {
                        for (var e = this.tryEntries.length - 1; e >= 0; --e) {
                            var r = this.tryEntries[e];
                            if (r.tryLoc <= this.prev && i.call(r, "finallyLoc") && this.prev < r.finallyLoc) {
                                var o = r;
                                break
                            }
                        }
                        o && ("break" === t || "continue" === t) && o.tryLoc <= n && n <= o.finallyLoc && (o = null);
                        var u = o ? o.completion : {};
                        return u.type = t,
                        u.arg = n,
                        o ? (this.method = "next",
                        this.next = o.finallyLoc,
                        d) : this.complete(u)
                    },
                    complete: function(t, n) {
                        if ("throw" === t.type)
                            throw t.arg;
                        return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg,
                        this.method = "return",
                        this.next = "end") : "normal" === t.type && n && (this.next = n),
                        d
                    },
                    finish: function(t) {
                        for (var n = this.tryEntries.length - 1; n >= 0; --n) {
                            var e = this.tryEntries[n];
                            if (e.finallyLoc === t)
                                return this.complete(e.completion, e.afterLoc),
                                A(e),
                                d
                        }
                    },
                    catch: function(t) {
                        for (var n = this.tryEntries.length - 1; n >= 0; --n) {
                            var e = this.tryEntries[n];
                            if (e.tryLoc === t) {
                                var r = e.completion;
                                if ("throw" === r.type) {
                                    var i = r.arg;
                                    A(e)
                                }
                                return i
                            }
                        }
                        throw new Error("illegal catch attempt")
                    },
                    delegateYield: function(t, n, r) {
                        return this.delegate = {
                            iterator: j(t),
                            resultName: n,
                            nextLoc: r
                        },
                        "next" === this.method && (this.arg = e),
                        d
                    }
                }
            }
            function x(t, n, e, r) {
                var i = n && n.prototype instanceof S ? n : S
                  , o = Object.create(i.prototype)
                  , u = new I(r || []);
                return o._invoke = function(t, n, e) {
                    var r = l;
                    return function(i, o) {
                        if (r === v)
                            throw new Error("Generator is already running");
                        if (r === p) {
                            if ("throw" === i)
                                throw o;
                            return F()
                        }
                        for (e.method = i,
                        e.arg = o; ; ) {
                            var u = e.delegate;
                            if (u) {
                                var a = O(u, e);
                                if (a) {
                                    if (a === d)
                                        continue;
                                    return a
                                }
                            }
                            if ("next" === e.method)
                                e.sent = e._sent = e.arg;
                            else if ("throw" === e.method) {
                                if (r === l)
                                    throw r = p,
                                    e.arg;
                                e.dispatchException(e.arg)
                            } else
                                "return" === e.method && e.abrupt("return", e.arg);
                            r = v;
                            var c = w(t, n, e);
                            if ("normal" === c.type) {
                                if (r = e.done ? p : h,
                                c.arg === d)
                                    continue;
                                return {
                                    value: c.arg,
                                    done: e.done
                                }
                            }
                            "throw" === c.type && (r = p,
                            e.method = "throw",
                            e.arg = c.arg)
                        }
                    }
                }(t, e, u),
                o
            }
            function w(t, n, e) {
                try {
                    return {
                        type: "normal",
                        arg: t.call(n, e)
                    }
                } catch (t) {
                    return {
                        type: "throw",
                        arg: t
                    }
                }
            }
            function S() {}
            function _() {}
            function E() {}
            function M(t) {
                ["next", "throw", "return"].forEach(function(n) {
                    t[n] = function(t) {
                        return this._invoke(n, t)
                    }
                })
            }
            function k(t) {
                function e(n, r, o, u) {
                    var a = w(t[n], t, r);
                    if ("throw" !== a.type) {
                        var c = a.arg
                          , s = c.value;
                        return s && "object" == typeof s && i.call(s, "__await") ? Promise.resolve(s.__await).then(function(t) {
                            e("next", t, o, u)
                        }, function(t) {
                            e("throw", t, o, u)
                        }) : Promise.resolve(s).then(function(t) {
                            c.value = t,
                            o(c)
                        }, u)
                    }
                    u(a.arg)
                }
                var r;
                "object" == typeof n.process && n.process.domain && (e = n.process.domain.bind(e)),
                this._invoke = function(t, n) {
                    function i() {
                        return new Promise(function(r, i) {
                            e(t, n, r, i)
                        }
                        )
                    }
                    return r = r ? r.then(i, i) : i()
                }
            }
            function O(t, n) {
                var r = t.iterator[n.method];
                if (r === e) {
                    if (n.delegate = null,
                    "throw" === n.method) {
                        if (t.iterator.return && (n.method = "return",
                        n.arg = e,
                        O(t, n),
                        "throw" === n.method))
                            return d;
                        n.method = "throw",
                        n.arg = new TypeError("The iterator does not provide a 'throw' method")
                    }
                    return d
                }
                var i = w(r, t.iterator, n.arg);
                if ("throw" === i.type)
                    return n.method = "throw",
                    n.arg = i.arg,
                    n.delegate = null,
                    d;
                var o = i.arg;
                return o ? o.done ? (n[t.resultName] = o.value,
                n.next = t.nextLoc,
                "return" !== n.method && (n.method = "next",
                n.arg = e),
                n.delegate = null,
                d) : o : (n.method = "throw",
                n.arg = new TypeError("iterator result is not an object"),
                n.delegate = null,
                d)
            }
            function P(t) {
                var n = {
                    tryLoc: t[0]
                };
                1 in t && (n.catchLoc = t[1]),
                2 in t && (n.finallyLoc = t[2],
                n.afterLoc = t[3]),
                this.tryEntries.push(n)
            }
            function A(t) {
                var n = t.completion || {};
                n.type = "normal",
                delete n.arg,
                t.completion = n
            }
            function I(t) {
                this.tryEntries = [{
                    tryLoc: "root"
                }],
                t.forEach(P, this),
                this.reset(!0)
            }
            function j(t) {
                if (t) {
                    var n = t[u];
                    if (n)
                        return n.call(t);
                    if ("function" == typeof t.next)
                        return t;
                    if (!isNaN(t.length)) {
                        var r = -1
                          , o = function n() {
                            for (; ++r < t.length; )
                                if (i.call(t, r))
                                    return n.value = t[r],
                                    n.done = !1,
                                    n;
                            return n.value = e,
                            n.done = !0,
                            n
                        };
                        return o.next = o
                    }
                }
                return {
                    next: F
                }
            }
            function F() {
                return {
                    value: e,
                    done: !0
                }
            }
        }("object" == typeof n ? n : "object" == typeof window ? window : "object" == typeof self ? self : this)
    }
    ).call(this, e(94))
}
, function(t, n, e) {
    e(332),
    t.exports = e(18).RegExp.escape
}
, function(t, n, e) {
    var r = e(0)
      , i = e(333)(/[\\^$*+?.()|[\]{}]/g, "\\$&");
    r(r.S, "RegExp", {
        escape: function(t) {
            return i(t)
        }
    })
}
, function(t, n) {
    t.exports = function(t, n) {
        var e = n === Object(n) ? function(t) {
            return n[t]
        }
        : n;
        return function(n) {
            return String(n).replace(t, e)
        }
    }
}
, function(t, n, e) {
    "use strict";
    var r = e(335);
    window.onload = function() {
        !function() {
            var t = document.getElementById("app-setting")
              , n = document.getElementById("app-canvas")
              , e = document.getElementById("btn-ai-frist")
              , i = document.getElementById("board-info")
              , o = document.getElementById("btn-board-undo")
              , u = document.getElementById("btn-board-debug")
              , a = document.getElementById("board-size")
              , aa = document.getElementById("board-size2")

              , c = document.getElementById("board-nwin")
              , s = document.getElementById("board-depth")
              , f = document.getElementById("board-breadth")
              , l = document.getElementById("board-timelimit")
              , h = document.getElementById("board-size-value")
              , hh = document.getElementById("board-size2-value")

              , v = document.getElementById("board-nwin-value")
              , p = document.getElementById("board-depth-value")
              , d = document.getElementById("board-breadth-value")
              , g = document.getElementById("board-timelimit-value")
              , y = document.getElementById("title-value")
              , b = document.getElementById("checkbox-board-foul")
              , m = ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九"];
            
           
            y.innerHTML = '<span style="color:red;">' + c.value + "</span>-" + m[c.value],
            aa.value = localStorage.size2 || aa.value,
            a.value = localStorage.size || a.value,
            c.value = localStorage.nWin || c.value,
            s.value = localStorage.depth || s.value,
            f.value = localStorage.breadth || f.value,
            l.value = localStorage.timelimit || l.value,
           //
 n.innerHTML= '<canvas width:aa.value hegith:aa.value>'+'</canvas>'
            b.checked = localStorage.isFoul || !1;
            var x = new r.Controller(n,i,e,a.valueAsNumber,aa.valueAsNumber,c.valueAsNumber,f.valueAsNumber,s.valueAsNumber,100 * l.valueAsNumber,b.checked);
            b.oninput = function() {
                x.foulRule = b.checked
            }
            ,
            o.onclick = function() {
                x.undo()
            }
            ,
            u.onclick = function() {
                u.value = x.changeMode()
            }
            ,
            i.onclick = t.onclick = function(t) {
                t.target.id === this.id && ("20px" === this.style.height ? this.style.height = "auto" : this.style.height = "20px")
            }
            ,
            s.oninput = function() {
                p.innerText = s.value,
                x.depth = Math.max(0, s.valueAsNumber)
            }
            ,
            f.oninput = function() {
                d.innerText = f.value,
                x.breadth = Math.max(1, f.valueAsNumber)
            }
            ,
            l.oninput = function() {
                g.innerText = (.1 * l.valueAsNumber).toFixed(1),
                x.timelimit = Math.max(100, 100 * l.valueAsNumber)
            }
            ,
            c.oninput = function() {
                v.innerText = c.value,
                x.changeNWin(c.valueAsNumber);
                var t = 3 === c.valueAsNumber && 3 === a.valueAsNumber ? "井字" : m[c.value] + "子";
                y.innerHTML = '<span style="color:red;">' + c.value + "</span>-" + t,
                5 === c.valueAsNumber ? b.removeAttribute("disabled") : (b.checked = !1,
                x.foulRule = !1,
                b.setAttribute("disabled", "disabled"))
            }
            ,
          aa.oninput = function() {
                var t = isNaN(aa.valueAsNumber) ? 9 : aa.valueAsNumber;
                 // 更新<span>元素中显示的尺寸
                 hh.innerText = t; 
                //可选：‌在canvas上绘制一些内容以显示大小变化             
                c.oninput(),
                x.changeSize(a.value),
                x.state = r.EState.start
               //刷新

           }
          ,
            a.oninput = function() {
                var t = isNaN(a.valueAsNumber) ? 15 : a.valueAsNumber;
                h.innerText = t,
                c.value = Math.min(t, 5),
                c.oninput(),
                x.changeSize(t),
                x.state = r.EState.start
            }
            ,
            x.isIE && (s.onmouseup = s.oninput,
            f.onmouseup = f.oninput,
            l.onmouseup = l.oninput,
            c.onmouseup = c.oninput,
            a.onmouseup = a.oninput,
            aa.onmouseup = aa.oninput,
            b.onclick = b.oninput),
            s.oninput(),
            f.oninput(),
            l.oninput(),
            a.oninput(),
            aa.oninput(),
            c.value = localStorage.nWin || c.value,
            c.oninput(),
            window.onunload = function() {
                return localStorage.size = a.value,
                localStorage.size2 = aa.value,
                localStorage.nWin = c.value,
                localStorage.depth = s.value,
                localStorage.breadth = f.value,
                localStorage.timelimit = l.value,
                localStorage.isFoul = b.checked,
                !0
            }
            ,
            document.getElementById("btn-board-default").onclick = function() {
                 aa.value = 9,
                a.value = 15,
                c.value = 5,
                s.value = 10,
                f.value = 6,
                l.value = 5,
                b.checked = !0,
                setTimeout(function() {
                    s.oninput(),
                    f.oninput(),
                    l.oninput(),
                    a.oninput(),
                    aa.oninput(),
                    c.oninput()
                }, 50)
            }
        }()
    }
}
, function(t, n, e) {
    "use strict";
    Object.defineProperty(n, "__esModule", {
        value: !0
    }),
    n.EState = n.Controller = void 0;
    var r = function() {
        function t(t, n) {
            for (var e = 0; e < n.length; e++) {
                var r = n[e];
                r.enumerable = r.enumerable || !1,
                r.configurable = !0,
                "value"in r && (r.writable = !0),
                Object.defineProperty(t, r.key, r)
            }
        }
        return function(n, e, r) {
            return e && t(n.prototype, e),
            r && t(n, r),
            n
        }
    }()
      , i = e(336)
      , o = e(337)
      , u = f(e(93))
      , a = f(e(338))
      , c = f(e(340))
      , s = f(e(342));
    function f(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }
    var l = {
        init: 0,
        start: 1,
        waitplayer: 2,
        waitAI: 3,
        end: 4
    }
      , h = function() {
        function t(n, e, r) {
            var u = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 15
              , a = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 5
              , c = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : 8
              , f = arguments.length > 6 && void 0 !== arguments[6] ? arguments[6] : 8
              , h = this
              , v = arguments.length > 7 && void 0 !== arguments[7] ? arguments[7] : 300
              , p = !(arguments.length > 8 && void 0 !== arguments[8]) || arguments[8];
            !function(t, n) {
                if (!(t instanceof n))
                    throw new TypeError("Cannot call a class as a function")
            }(this, t),
            this.state = l.init,
            this.foulRule = p,
            this.pointer = {
                x: NaN,
                y: NaN
            },
            this.playerColor = -1,
            this.stoneList = [],
            this.foulList = [],
            this.lastTime = new Date,
            this.breadth = c,
            this.depth = f,
            this.timelimit = v,
            this.info = e,
            this.canvas = n,
            this.logger = new s.default(e),
            this.board = new i.Board(u,a),
            this.renderer = new o.Renderer(this),
            this.isIE = !!window.ActiveXObject || "ActiveXObject"in window,
            this.registerAI(),
            n.onmouseup = function() {
                h.pointer.x = NaN,
                h.pointer.y = NaN
            }
            ,
            n.onclick = function(t) {
                if (h.debugMode)
                    return h.debugBoard(t.offsetX, t.offsetY),
                    r.disabled = !0,
                    r.style.display = "none",
                    !1;
                switch (h.state) {
                case l.init:
                case l.start:
                    r.disabled = !0,
                    r.style.display = "none";
                case l.waitplayer:
                    h.placeStone(t.offsetX, t.offsetY);
                    break;
                case l.waitAI:
                    h.log("别着急，AI正在思考对策");
                    break;
                case l.end:
                    window.confirm("游戏已结束，刷新页面?") ? window.location.reload() : window.alert("你也可以通过调整棋盘大小来刷新棋盘")
                }
                return !1
            }
            ,
            n.onmousemove = function(t) {
                h.pointer.x = t.offsetX,
                h.pointer.y = t.offsetY
            }
            ,
            r.onclick = function() {
                var t = Math.floor(h.board.size / 2)
                  , n = new i.Place(t,t,h.playerColor);
                h.board.placeStone(n),
                h.stoneList.push(n),
                h.playerColor *= -1,
                r.disabled = !0,
                r.style.display = "none",
                h.log("AI先手默认下在中心点")
            }
            ,
            this.renderer.updataLoop(60),
            this.state = l.start
        }
        return r(t, [{
            key: "log",
            value: function(t, n, e) {
                this.logger.log(t, n, e)
            }
        }, {
            key: "update",
            value: function() {
                this.renderer.update()
            }
        }, {
            key: "changeMode",
            value: function() {
                return this.debugMode = !this.debugMode,
                this.debugMode ? this.log("1.点击空白交叉点会生成白棋", "2.点击白棋会变成黑棋", "3.点击黑棋会使其消失") : this.log("取消调试模式"),
                this.debugMode ? "正常模式" : "调试模式"
            }
        }, {
            key: "changeSize",
            value: function(t) {
                this.board.reSet(t, this.board.nWin),
                this.stoneList.length = 0
            }
        }, {
  
            key: "changeNWin",
            value: function(t) {
                this.board.nWin = t
            }
        }, {
            key: "undo",
            value: function() {
                var t = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0]
                  , n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : void 0;
                if (0 === this.stoneList.length)
                    return this.board.reSet(this.board.size, this.board.nWin),
                    void this.log("已清理棋盘");
                var e = this.stoneList.pop();
                void 0 !== e && (t && (t = e.color !== this.playerColor),
                this.board.undo(e),
                this.playerColor *= -1,
                this.state = l.waitplayer,
                this.log("撤销:" + (void 0 === n ? "*" : JSON.stringify(n)), "撤销:" + (void 0 === n ? "*" : JSON.stringify(e)), "撤销完毕"),
                t && this.undo(!1, e))
            }
        }, {
            key: "placeStone",
            value: function(t, n) {
                var e = this.renderer.canvasSize / this.board.size
                  , r = Math.round(t / e - .5)
                  , o = Math.round(n / e - .5)
                  , a = new i.Place(r,o,this.playerColor);
                if (this.board.placeStone(a)) {
                    if (this.stoneList.push(a),
                    this.foulRule) {
                        var c = u.default.isFoul(this.board, a);
                        if (c)
                            return c = "你输了：" + c,
                            this.log(c),
                            window.alert(c),
                            void (this.state = l.end)
                    }
                    if (u.default.isWin(this.board, a))
                        return this.log("你赢了"),
                        window.alert("你赢了"),
                        void (this.state = l.end);
                    this.state = l.waitAI,
                    this.log("AI正在思考中"),
                    this.lastTime = new Date,
                    this.runAI()
                }
            }
        }, {
            key: "runAI",
            value: function() {
                this.isIE ? (this.AI.init(this.board, this.breadth, this.depth, 2, this.timelimit),
                this.AI.run(-this.playerColor, this.foulRule, this.aiBehavior)) : this.AIWorker.postMessage({
                    color: -this.playerColor,
                    board: this.board,
                    depth: this.depth,
                    breadth: this.breadth,
                    timelimit: this.timelimit,
                    foulRule: this.foulRule
                })
            }
        }, {
            key: "registerAI",
            value: function() {
                var t = this;
                this.aiBehavior = function(n) {
                    if (null === n || isNaN(n.x) || isNaN(n.y))
                        return t.state = l.end,
                        t.log("平局"),
                        void window.alert("平局");
                    if (!t.board.placeStone(n))
                        return t.log("你赢了，AI错误"),
                        window.alert("你赢了，AI错误"),
                        void (t.state = l.end);
                    if (t.foulRule) {
                        var e = u.default.isFoul(t.board, n);
                        if (e)
                            return e = "你赢了，AI：" + e,
                            t.log(e),
                            window.alert(e),
                            void (t.state = l.end)
                    }
                    var r = u.default.isWin(t.board, n);
                    if (t.stoneList.push(n),
                    r)
                        return t.state = l.end,
                        t.log("你输了"),
                        void window.alert("你输了");
                    var i = Math.max((new Date).getTime() - t.lastTime.getTime(), 20);
                   var aii=0 ;
                   var aiii=aii+1;
                   t.log("黑方"+index+"分数:" + u.default.getScore(t.board, o.EStoneColor.black) + ",白方分数:" + u.default.getScore(t.board, o.EStoneColor.white), "AI估值:" + n.score, "AI思考时间:" + i / 1e3 + "秒,递归深度:" + n.depth),
                    t.foulRule && (t.foulList.length = 0,
                    t.board.data.forEach(function(n, e) {
                        if (0 === n) {
                            var r = t.board.getXY(e)
                              , i = {
                                x: r.x,
                                y: r.y,
                                color: t.playerColor
                            };
                            u.default.isFoul(t.board, i) && t.foulList.push(i)
                        }
                    })),
                    t.state = l.waitplayer
                }
                ,
                this.isIE ? this.AI = new a.default(this.board,this.breadth,this.depth,2,Math.max(100, this.timelimit)) : (this.AIWorker = new c.default,
                window.onunload = function() {
                    t.AIWorker.terminate()
                }
                ,
                this.AIWorker.onmessage = function(n) {
                    var e = n.data;
                    t.aiBehavior(e)
                }
                )
            }
        }, {
            key: "debugBoard",
            value: function(t, n) {
                this.stoneList.length = 0;
                var e = this.renderer.canvasSize / this.board.size
                  , r = Math.round(t / e - .5)
                  , i = Math.round(n / e - .5);
                this.board.debug(r, i),
                this.state = l.waitplayer
            }
        }]),
        t
    }();
    n.Controller = h,
    n.EState = l
}
, function(t, n, e) {
    "use strict";
    Object.defineProperty(n, "__esModule", {
        value: !0
    });
    var r = function() {
        function t(t, n) {
            for (var e = 0; e < n.length; e++) {
                var r = n[e];
                r.enumerable = r.enumerable || !1,
                r.configurable = !0,
                "value"in r && (r.writable = !0),
                Object.defineProperty(t, r.key, r)
            }
        }
        return function(n, e, r) {
            return e && t(n.prototype, e),
            r && t(n, r),
            n
        }
    }();
    function i(t, n) {
        if (!(t instanceof n))
            throw new TypeError("Cannot call a class as a function")
    }
    var o = function() {
        function t() {
            var n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 15
              , e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 5
              , r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [];
            if (i(this, t),
            n < 0 || e < 0)
                throw new Error("size or nWin < 0,\n size : " + n + " \n nWin : " + e);
            this.size = n,
            this.nWin = e,
            this.data = new Array(n * n),
            this.initData(n, r)
        }
        return r(t, [{
            key: "getXY",
            value: function(t) {
                return {
                    x: t % this.size,
                    y: Math.floor(t / this.size)
                }
            }
        }, {
            key: "getIndex",
            value: function(t, n) {
                return t < 0 || n < 0 || t >= this.size || n >= this.size ? -1 : t + n * this.size
            }
        }, {
            key: "clone",
            value: function() {
                return new t(this.size,this.nWin,this.data)
            }
        }, {
            key: "hash",
            value: function() {
                return this.data.hash()
            }
        }, {
            key: "getColor",
            value: function(t, n) {
                return this.data[this.getIndex(t, n)]
            }
        }, {
            key: "placeStone",
            value: function(t) {
                var n = this.getIndex(t.x, t.y);
                return !(t.x < 0 || t.x >= this.size || 0 !== this.data[n]) && (this.data[n] = t.color,
                !0)
            }
        }, {
            key: "debug",
            value: function(t, n) {
                var e = this.getIndex(t, n)
                  , r = this.data[e];
                switch (r) {
                case 0:
                    r = 1;
                    break;
                case 1:
                    r = -1;
                    break;
                case -1:
                    r = 0
                }
                this.data[e] = r
            }
        }, {
            key: "clearStone",
            value: function(t, n) {
                var e = this.getIndex(t, n);
                return !(e < 0) && (this.data[e] = 0,
                !0)
            }
        }, {
            key: "undo",
            value: function(t) {
                return this.clearStone(t.x, t.y)
            }
        }, {
            key: "initData",
            value: function(t) {
                var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [];
                this.data.length = t * t;
                for (var e = 0; e < t * t; e += 1)
                    -1 === n[e] || 1 === n[e] ? this.data[e] = n[e] : this.data[e] = 0
            }
        }, {
            key: "reSet",
            value: function(t, n) {
                var e = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [];
                if (t <= 0 || n <= 0)
                    throw new Error("size or nWin <= 0,\n size : " + t + " \n nWin : " + n);
                this.size = t,
                this.nWin = n,
                this.initData(t, e)
            }
        }]),
        t
    }();
    n.Board = o,
    n.Place = function t(n, e, r) {
        var o = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 0;
        i(this, t),
        this.x = n,
        this.y = e,
        this.color = r,
        this.score = o
    }
}
, function(t, n, e) {
    "use strict";
    Object.defineProperty(n, "__esModule", {
        value: !0
    });
    var r = function() {
        function t(t, n) {
            for (var e = 0; e < n.length; e++) {
                var r = n[e];
                r.enumerable = r.enumerable || !1,
                r.configurable = !0,
                "value"in r && (r.writable = !0),
                Object.defineProperty(t, r.key, r)
            }
        }
        return function(n, e, r) {
            return e && t(n.prototype, e),
            r && t(n, r),
            n
        }
    }();
    var i = {
        empty: 0,
        black: -1,
        white: 1,
        error: void 0
    }
      , o = function() {
        function t(n) {

var slider = document.getElementById('board-size2');
var newslider=slider .value
 var width = window.innerWidth
    || document.documentElement.clientWidth
    || document.body.clientWidth;

    var height = window.innerHeight
    || document.documentElement.clientHeight
    || document.body.clientHeight;

             var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] :width*newslider/10;
            !function(t, n) {
                if (!(t instanceof n))
                    throw new TypeError("Cannot call a class as a function")
            }(this, t),
            this.controller = n,
            this.canvas = n.canvas,
            this.context = n.canvas.getContext("2d"),
            this.canvas.setAttribute("height", e),
            this.canvas.setAttribute("width", e),
            this.canvasSize = e
        }
        return r(t, [{
            key: "drawPointer",
            value: function(t, n, e, r) {
                if (!isNaN(t) && !isNaN(n)) {
                    var o = (Math.round(t / e - .5) + .5) * e
                      , u = (Math.round(n / e - .5) + .5) * e;
                    this.context.beginPath(),
                    this.context.arc(o, u, e / 2 - 1, 0, 360, !1),
                    r === i.black ? (this.context.fillStyle = "#000000AA",
                    this.context.fill()) : r === i.white && (this.context.fillStyle = "#FFFFFFAA",
                    this.context.fill()),
                    this.context.closePath()
                }
            }
        }, {
            key: "update",
            value: function() {
                var t = this
                  , n = this.controller.board
                  , e = this.controller.pointer
                  , r = this.controller.stoneList
                  , o = this.controller.foulList
                  , u = this.controller.playerColor;
                this.context.clearRect(0, 0, this.canvasSize, this.canvasSize);
                var a = this.canvasSize / n.size;
                this.context.beginPath();
                for (var c = 0; c < n.size; c += 1)
                    this.context.moveTo(c * a + a / 2, a / 2),
                    this.context.lineTo(c * a + a / 2, (n.size - 1) * a + a / 2),
                    this.context.moveTo(a / 2, c * a + a / 2),
                    this.context.lineTo((n.size - 1) * a + a / 2, c * a + a / 2);
                this.context.stroke(),
                this.context.closePath(),
                this.drawPointer(e.x, e.y, a, u),
                this.controller.foulRule && o.forEach(function(n) {
                    var e = (n.x + .5) * a
                      , r = (n.y + .5) * a + 1;
                    t.context.font = .8 * a + "px Georgia, 'Times new roman'",
                    t.context.fillStyle = "darkred",
                    t.context.textBaseline = "middle",
                    t.context.textAlign = "center",
                    t.context.fillText("X", e, r)
                });
                var s = r[r.length - 1];
                void 0 !== s && (this.context.beginPath(),
                this.context.arc((s.x + .5) * a, (s.y + .5) * a, a / 2, 0, 360, !1),
                this.context.fillStyle = "darkgray",
                this.context.fill(),
                this.context.closePath()),
                n.data.forEach(function(e, r) {
                    var o = n.getXY(r)
                      , u = o.x
                      , c = o.y;
                    u = (u + .5) * a,
                    c = (c + .5) * a,
                    t.context.beginPath(),
                    t.context.arc(u, c, a / 2 - 2, 0, 360, !1),
                    e === i.black ? (t.context.fillStyle = "black",
                    t.context.fill()) : e === i.white && (t.context.fillStyle = "white",
                    t.context.fill()),
                    t.context.closePath()
                }),
                r.forEach(function(n, e) {
                    var r = (n.x + .5) * a
                      , o = (n.y + .5) * a;
                    t.context.font = e > 8 ? .55 * a + "px Georgia, 'Times new roman'" : .6 * a + "px Georgia, 'Times new roman'",
                    n.color === i.black ? t.context.fillStyle = "white" : n.color === i.white && (t.context.fillStyle = "black"),
                    t.context.textBaseline = "middle",
                    t.context.textAlign = "center",
                    t.context.fillText(e + 1, r, o)
                })
            }
        }, {
            key: "updataLoop",
            value: function() {
                var t = this
                  , n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 60;
                setTimeout(function() {
                    t.update(),
                    t.updataLoop(n)
                }, n / 1e3)
            }
        }]),
        t
    }();
    n.Renderer = o,
    n.EStoneColor = i
}
, function(t, n, e) {
    "use strict";
    Object.defineProperty(n, "__esModule", {
        value: !0
    });
    var r = function() {
        function t(t, n) {
            for (var e = 0; e < n.length; e++) {
                var r = n[e];
                r.enumerable = r.enumerable || !1,
                r.configurable = !0,
                "value"in r && (r.writable = !0),
                Object.defineProperty(t, r.key, r)
            }
        }
        return function(n, e, r) {
            return e && t(n.prototype, e),
            r && t(n, r),
            n
        }
    }()
      , i = u(e(339))
      , o = u(e(93));
    function u(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }
    var a = function(t) {
        function n(t) {
            var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1
              , r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1
              , i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 2
              , o = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 100;
            !function(t, n) {
                if (!(t instanceof n))
                    throw new TypeError("Cannot call a class as a function")
            }(this, n);
            var u = function(t, n) {
                if (!t)
                    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return !n || "object" != typeof n && "function" != typeof n ? t : n
            }(this, (n.__proto__ || Object.getPrototypeOf(n)).call(this, t));
            return u.init(t, e, r, i, o),
            u
        }
        return function(t, n) {
            if ("function" != typeof n && null !== n)
                throw new TypeError("Super expression must either be null or a function, not " + typeof n);
            t.prototype = Object.create(n && n.prototype, {
                constructor: {
                    value: t,
                    enumerable: !1,
                    writable: !0,
                    configurable: !0
                }
            }),
            n && (Object.setPrototypeOf ? Object.setPrototypeOf(t, n) : t.__proto__ = n)
        }(n, i.default),
        r(n, [{
            key: "init",
            value: function(t) {
                var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1
                  , e = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1
                  , r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 2
                  , i = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 100;
                this.board = t,
                this.searchRange = Math.max(r, 1),
                this.maxBreadth = Math.max(n, 1),
                this.maxDepth = Math.max(e, 1),
                this.timeout = !1,
                this.lasttime = new Date,
                this.timelimit = Math.max(i, 100),
                this.best = null
            }
        }, {
            key: "think",
            value: function(t, n, e, r, i) {
                if (n < 1)
                    return o.default.getScore(this.board, t) - o.default.getScore(this.board, -t);
                var u = this.getNexts(t, n === this.maxDepth ? this.searchRange : 1);
                if (0 === u.length)
                    return 0;
                u.length = Math.min(u.length, this.maxBreadth);
                var a = !0
                  , c = !1
                  , s = void 0;
                try {
                    for (var f, l = u[Symbol.iterator](); !(a = (f = l.next()).done); a = !0) {
                        var h = f.value;
                        if (null === this.best && (this.best = h),
                        this.maxDepth === n && null !== this.best && (new Date).getTime() - this.lasttime.getTime() > this.timelimit)
                            return this.timeout = !0,
                            0;
                        if (this.board.placeStone(h),
                        o.default.isWin(this.board, h) ? h.score = 1e5 + n : i && o.default.isFoul(this.board, h) ? h.score = -1e5 - n : h.score = -this.think(-t, n - 1, -r, -e, i),
                        this.board.undo(h),
                        h.score > e && (e = h.score,
                        n === this.maxDepth && (this.best = h)),
                        h.score >= r)
                            break
                    }
                } catch (t) {
                    c = !0,
                    s = t
                } finally {
                    try {
                        !a && l.return && l.return()
                    } finally {
                        if (c)
                            throw s
                    }
                }
                return e
            }
        }, {
            key: "iterativeDeepening",
            value: function(t, n) {
                this.lasttime = new Date,
                this.timeout = !1,
                this.best = null;
                for (var e = this.maxDepth, r = 1; r <= e && (this.maxDepth = r,
                this.think(t, r, -1e6, 1e6, n),
                !this.timeout && null !== this.best) && !(null !== this.best && this.best.score >= 1e5); r += 1)
                    ;
                this.timeout = !1,
                this.best && (this.best.depth = this.maxDepth),
                this.maxDepth = e
            }
        }, {
            key: "run",
            value: function(t, n, e) {
                var r = this;
                setTimeout(function() {
                    r.iterativeDeepening(t, n),
                    e(r.best)
                }, 20)
            }
        }]),
        n
    }();
    n.default = a
}
, function(t, n, e) {
    "use strict";
    Object.defineProperty(n, "__esModule", {
        value: !0
    });
    var r, i = function() {
        function t(t, n) {
            for (var e = 0; e < n.length; e++) {
                var r = n[e];
                r.enumerable = r.enumerable || !1,
                r.configurable = !0,
                "value"in r && (r.writable = !0),
                Object.defineProperty(t, r.key, r)
            }
        }
        return function(n, e, r) {
            return e && t(n.prototype, e),
            r && t(n, r),
            n
        }
    }(), o = e(93), u = (r = o) && r.__esModule ? r : {
        default: r
    };
    var a = function() {
        function t(n) {
            !function(t, n) {
                if (!(t instanceof n))
                    throw new TypeError("Cannot call a class as a function")
            }(this, t),
            this.board = n
        }
        return i(t, [{
            key: "getNexts",
            value: function(t, n) {
                var e = this
                  , r = [];
                return this.board.data.forEach(function(i, o) {
                    if (0 === i)
                        for (var a = void 0, c = e.board.getXY(o), s = c.x, f = c.y, l = -n; l < n + 1; l += 1)
                            for (var h = -n; h < n + 1; h += 1)
                                if (0 !== l || 0 !== h) {
                                    var v = e.board.data[e.board.getIndex(s + l, f + h)];
                                    if (v === t || v === -t)
                                        return (a = {
                                            x: s,
                                            y: f,
                                            color: t,
                                            score: 0
                                        }).score = u.default.getPlaceScore(e.board, a),
                                        void r.push(a)
                                }
                }),
                r.forEach(function(t, n) {
                    var i = e.board.size / 2;
                    r[n].score -= .1 * (Math.pow(t.x - i, 2) + Math.pow(t.y - i, 2)) + Math.random() - .5
                }),
                r.sort(function(t, n) {
                    return n.score - t.score
                }),
                r
            }
        }, {
            key: "run",
            value: function(t, n) {
                var e = this;
                setTimeout(function() {
                    var r = e.getNexts(t)[0];
                    n(r)
                }, 20)
            }
        }]),
        t
    }();
    n.default = a
}
, function(t, n, e) {
    "use strict";
    t.exports = function() {
        return e(341)('!function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=3)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],n=!0,i=!1,a=void 0;try{for(var o,u=e[Symbol.iterator]();!(n=(o=u.next()).done)&&(r.push(o.value),!t||r.length!==t);n=!0);}catch(e){i=!0,a=e}finally{try{!n&&u.return&&u.return()}finally{if(i)throw a}}return r}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();var a=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return i(e,null,[{key:"getScore",value:function(t,r){for(var i=t.nWin,a=0,o=0,u=0,s=0,l=0,f=0,c=0;c<4;c+=1){var h=e.getBoardAnalysisArrays(t,c),v=!0,d=!1,y=void 0;try{for(var b,g=h[Symbol.iterator]();!(v=(b=g.next()).done);v=!0){var p=b.value,m=e.getWinCount(i,r,p),x=n(m,8),w=x[0],k=x[1],O=x[2],_=x[3],P=x[4],S=x[5],M=x[6],W=x[7];if(-1===r&&w>0)return-1e5;if(k>0)return 1e5;a+=O,o+=_,u+=P,s+=S,l+=M,f+=W}}catch(e){d=!0,y=e}finally{try{!v&&g.return&&g.return()}finally{if(d)throw y}}}return a>=1?9e4+2400*a:u+o>=2&&i>3?9e4+1e3*(u+o):300*o+u*(i>3?1:0)*150+s*(i>3?1:0)*100+l*(i>4?1:0)*50+f*(i>4?1:0)}},{key:"isWin",value:function(e,t){if(void 0===t)throw new Error("分析的位置不能为空");var r=t.color,n=e.nWin,i=void 0;if(1===n)return!0;for(var a=this.getPlaceAnalysisArrays(e,t,n),o=0;o<a.length;o+=1){i=0;var u=!0,s=!1,l=void 0;try{for(var f,c=a[o][Symbol.iterator]();!(u=(f=c.next()).done);u=!0){if(f.value===r){if((i+=1)>=n)return!0}else i=0}}catch(e){s=!0,l=e}finally{try{!u&&c.return&&c.return()}finally{if(s)throw l}}}return!1}},{key:"isFoul",value:function(t,r){if(void 0===r)throw new Error("分析的位置不能为空");var i=r.color,a=t.nWin,o=a+1;if(1===i)return!1;var u=0,s=0,l=0,f=this.getPlaceAnalysisArrays(t,r,o),c=!0,h=!1,v=void 0;try{for(var d,y=f[Symbol.iterator]();!(c=(d=y.next()).done);c=!0){var b=d.value,g=e.getWinCount(a,i,b),p=n(g,5),m=p[0],x=p[2],w=p[3],k=p[4];u+=m,s+=x+w,l+=k}}catch(e){h=!0,v=e}finally{try{!c&&y.return&&y.return()}finally{if(h)throw v}}if(u>0)return"长连禁手";if(2===l){if(0===s)return"三三禁手";if(1===s)return"四三三禁手"}else if(2===s&&l<2){if(0===l)return"四四禁手";if(1===l)return"三四四禁手"}return!1}},{key:"getPlaceScore",value:function(t,r){if(void 0===r)throw new Error("分析的位置不能为空");var i=t.nWin,a=i+1,o=0,u=e.getPlaceAnalysisArrays(t,r,a),s=!0,l=!1,f=void 0;try{for(var c,h=u[Symbol.iterator]();!(s=(c=h.next()).done);s=!0){var v=c.value,d=e.getWinCount(i,r.color,v),y=n(d,8),b=y[1],g=y[2],p=y[3],m=y[4],x=y[5],w=y[6],k=y[7];if(b>0)return 1e5;var O=e.getWinCount(i,-r.color,v),_=n(O,8);o+=1e4*(b-_[1])+1e3*(g-_[2])+300*(p-_[3])+200*(m-_[4])+30*(x-_[5])+30*(w-_[6])+1*(k-_[7])}}catch(e){l=!0,f=e}finally{try{!s&&h.return&&h.return()}finally{if(l)throw f}}var P=r.color;r.color=0,u=e.getPlaceAnalysisArrays(t,r,a);var S=!0,M=!1,W=void 0;try{for(var j,I=u[Symbol.iterator]();!(S=(j=I.next()).done);S=!0){var z=j.value,A=e.getWinCount(i,P,z),D=n(A,8),E=(b=D[1],g=D[2],p=D[3],m=D[4],x=D[5],w=D[6],k=D[7],e.getWinCount(i,-P,z)),C=n(E,8);o-=1e4*(b-C[1])+1e3*(g-C[2])+300*(p-C[3])+200*(m-C[4])+30*(x-C[5])+20*(w-C[6])+1*(k-C[7])}}catch(e){M=!0,W=e}finally{try{!S&&I.return&&I.return()}finally{if(M)throw W}}return r.color=P,o}},{key:"getWinCount",value:function(e,t,r){for(var n=e+1,i=[],a=0,o=0,u=0,s=0,l=0,f=0,c=0,h=0,v=0,d=-t,y=0,b=0;b<r.length;b+=1){var g=isNaN(r[b])?-t:r[b];if(g===t||i.length>0){if(0===i.length){if(d!==-t){var p=r.lastIndexOf(-t,b);p=Math.max(p,Math.max(b-e+2,0)),(p=r.indexOf(t,p))<b&&p>0&&(g=r[b=p],d=r[b-1])}i.push(d)}if(i.push(g),i.length>=n||g===-t||b>=r.length-1){switch((a=i.reduce(function(e,r){return e+(r===t?2:0)},0))>=2*e&&(u+=1,-1===t&&(a>2*e||r[b+1]===t)&&(o+=1)),y=i.lastIndexOf(t)+1,0!==(y=i[y=y>i.length-1?i.length-1:y])?a-=1:0!==i[0]&&(a-=1),b-r.lastIndexOf(-t,b-1)<=(i[i.length-1]===-t?e:e-1)&&(a=-1e4),2*e-a){case 2:s+=1;break;case 3:l+=1;break;case 4:f+=1;break;case 5:c+=1;break;case 6:h+=1;break;case 7:v+=1}i.length=0}}d=g}return[o,u,s,l,f,c,h,v]}},{key:"getBoardAnalysisArrays",value:function(e,t){var r=e.data,n=e.size,i=[],a=void 0,o=-1,u=void 0,s=0;switch(t){case 0:u=function(t,r){return e.getIndex(r,t)};break;case 1:u=function(t,r){return e.getIndex(t,r)};break;case 2:s=1-n,u=function(t,r){return e.getIndex(t+r,r)};break;case 3:s=1-n,u=function(t,r){return e.getIndex(t+r,n-r-1)};break;default:throw new Error("direction : "+t)}for(var l=s;l<n;l+=1){a=[];for(var f=0;f<n;f+=1)(o=u(l,f))<0||a.push(r[o]);i.push(a)}return i}},{key:"getPlaceAnalysisArrays",value:function(e,t,r){if(void 0===t)throw new Error("分析的位置不能为空");for(var n=[[],[],[],[]],i=e.data,a=t.x,o=t.y,u=0,s=-r-1;s<r;s+=1)if(0!==s)(u=e.getIndex(s+a,o))>-1&&n[0].push(i[u]),(u=e.getIndex(a,s+o))>-1&&n[1].push(i[u]),(u=e.getIndex(s+a,s+o))>-1&&n[2].push(i[u]),(u=e.getIndex(s+a,o-s))>-1&&n[3].push(i[u]);else for(var l=0;l<n.length;l+=1)n[l].push(t.color);return n}}]),e}();t.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),i=o(r(4)),a=o(r(0));function o(e){return e&&e.__esModule?e:{default:e}}var u=function(e){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:2,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:100;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var o=function(e,t){if(!e)throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return o.init(e,r,n,i,a),o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,i.default),n(t,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:2,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:100;this.board=e,this.searchRange=Math.max(n,1),this.maxBreadth=Math.max(t,1),this.maxDepth=Math.max(r,1),this.timeout=!1,this.lasttime=new Date,this.timelimit=Math.max(i,100),this.best=null}},{key:"think",value:function(e,t,r,n,i){if(t<1)return a.default.getScore(this.board,e)-a.default.getScore(this.board,-e);var o=this.getNexts(e,t===this.maxDepth?this.searchRange:1);if(0===o.length)return 0;o.length=Math.min(o.length,this.maxBreadth);var u=!0,s=!1,l=void 0;try{for(var f,c=o[Symbol.iterator]();!(u=(f=c.next()).done);u=!0){var h=f.value;if(null===this.best&&(this.best=h),this.maxDepth===t&&null!==this.best&&(new Date).getTime()-this.lasttime.getTime()>this.timelimit)return this.timeout=!0,0;if(this.board.placeStone(h),a.default.isWin(this.board,h)?h.score=1e5+t:i&&a.default.isFoul(this.board,h)?h.score=-1e5-t:h.score=-this.think(-e,t-1,-n,-r,i),this.board.undo(h),h.score>r&&(r=h.score,t===this.maxDepth&&(this.best=h)),h.score>=n)break}}catch(e){s=!0,l=e}finally{try{!u&&c.return&&c.return()}finally{if(s)throw l}}return r}},{key:"iterativeDeepening",value:function(e,t){this.lasttime=new Date,this.timeout=!1,this.best=null;for(var r=this.maxDepth,n=1;n<=r&&(this.maxDepth=n,this.think(e,n,-1e6,1e6,t),!this.timeout&&null!==this.best)&&!(null!==this.best&&this.best.score>=1e5);n+=1);this.timeout=!1,this.best&&(this.best.depth=this.maxDepth),this.maxDepth=r}},{key:"run",value:function(e,t,r){var n=this;setTimeout(function(){n.iterativeDeepening(e,t),r(n.best)},20)}}]),t}();t.default=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var a=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:15,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(i(this,e),t<0||r<0)throw new Error("size or nWin < 0,\\n size : "+t+" \\n nWin : "+r);this.size=t,this.nWin=r,this.data=new Array(t*t),this.initData(t,n)}return n(e,[{key:"getXY",value:function(e){return{x:e%this.size,y:Math.floor(e/this.size)}}},{key:"getIndex",value:function(e,t){return e<0||t<0||e>=this.size||t>=this.size?-1:e+t*this.size}},{key:"clone",value:function(){return new e(this.size,this.nWin,this.data)}},{key:"hash",value:function(){return this.data.hash()}},{key:"getColor",value:function(e,t){return this.data[this.getIndex(e,t)]}},{key:"placeStone",value:function(e){var t=this.getIndex(e.x,e.y);return!(e.x<0||e.x>=this.size||0!==this.data[t])&&(this.data[t]=e.color,!0)}},{key:"debug",value:function(e,t){var r=this.getIndex(e,t),n=this.data[r];switch(n){case 0:n=1;break;case 1:n=-1;break;case-1:n=0}this.data[r]=n}},{key:"clearStone",value:function(e,t){var r=this.getIndex(e,t);return!(r<0)&&(this.data[r]=0,!0)}},{key:"undo",value:function(e){return this.clearStone(e.x,e.y)}},{key:"initData",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.data.length=e*e;for(var r=0;r<e*e;r+=1)-1===t[r]||1===t[r]?this.data[r]=t[r]:this.data[r]=0}},{key:"reSet",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(e<=0||t<=0)throw new Error("size or nWin <= 0,\\n size : "+e+" \\n nWin : "+t);this.size=e,this.nWin=t,this.initData(e,r)}}]),e}();t.Board=a,t.Place=function e(t,r,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;i(this,e),this.x=t,this.y=r,this.color=n,this.score=a}},function(e,t,r){"use strict";r.r(t);var n=r(1),i=r.n(n),a=r(2);const o=new i.a(null),u=new a.Board(0,0,[]);self.onmessage=(e=>{const{data:t}=e;u.size=t.board.size,u.nWin=t.board.nWin,u.data=t.board.data,o.init(u,t.breadth,t.depth,2,t.timelimit),o.iterativeDeepening(t.color,t.foulRule),self.postMessage(o.best)})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),a=r(0),o=(n=a)&&n.__esModule?n:{default:n};var u=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.board=t}return i(e,[{key:"getNexts",value:function(e,t){var r=this,n=[];return this.board.data.forEach(function(i,a){if(0===i)for(var u=void 0,s=r.board.getXY(a),l=s.x,f=s.y,c=-t;c<t+1;c+=1)for(var h=-t;h<t+1;h+=1)if(0!==c||0!==h){var v=r.board.data[r.board.getIndex(l+c,f+h)];if(v===e||v===-e)return(u={x:l,y:f,color:e,score:0}).score=o.default.getPlaceScore(r.board,u),void n.push(u)}}),n.forEach(function(e,t){var i=r.board.size/2;n[t].score-=.1*(Math.pow(e.x-i,2)+Math.pow(e.y-i,2))+Math.random()-.5}),n.sort(function(e,t){return t.score-e.score}),n}},{key:"run",value:function(e,t){var r=this;setTimeout(function(){var n=r.getNexts(e)[0];t(n)},20)}}]),e}();t.default=u}]);', null)
    }
}
, function(t, n, e) {
    "use strict";
    var r = window.URL || window.webkitURL;
    t.exports = function(t, n) {
        try {
            try {
                var e;
                try {
                    (e = new (window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder)).append(t),
                    e = e.getBlob()
                } catch (n) {
                    e = new Blob([t])
                }
                return new Worker(r.createObjectURL(e))
            } catch (n) {
                return new Worker("data:application/javascript," + encodeURIComponent(t))
            }
        } catch (t) {
            if (!n)
                throw Error("Inline worker is not supported");
            return new Worker(n)
        }
    }
}
, function(t, n, e) {
    "use strict";
    Object.defineProperty(n, "__esModule", {
        value: !0
    });
    var r = function() {
        function t(t, n) {
            for (var e = 0; e < n.length; e++) {
                var r = n[e];
                r.enumerable = r.enumerable || !1,
                r.configurable = !0,
                "value"in r && (r.writable = !0),
                Object.defineProperty(t, r.key, r)
            }
        }
        return function(n, e, r) {
            return e && t(n.prototype, e),
            r && t(n, r),
            n
        }
    }();
    var i = function() {
        function t(n) {
            !function(t, n) {
                if (!(t instanceof n))
                    throw new TypeError("Cannot call a class as a function")
            }(this, t),
            this.info = n
        }
        return r(t, [{
            key: "log",
            value: function(t, n, e) {
                void 0 === n && void 0 === e && (n = t,
                t = " ",
                e = " "),
                this.info.innerText = t + "\n" + n + "\n" + e + "\n"
            }
        }]),
        t
    }();
    n.default = i
}
]);

 </script>
</body>

</html>